Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Funkcija suprotna "RGB(255,0,255)" Kako???

[es] :: Visual Basic 6 :: Funkcija suprotna "RGB(255,0,255)" Kako???

Strane: 1 2

[ Pregleda: 4481 | Odgovora: 23 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

BinLaden
Ni na nebu ni na zemlji

Član broj: 147476
Poruke: 102
*.teol.net.

Sajt: www.sove-soft.rs.ba


Profil

icon Funkcija suprotna "RGB(255,0,255)" Kako???15.10.2007. u 22:30 - pre 201 meseci
Npr. imam sledeci kod:
Code:
Dim Boja As Long
Boja = RGB(255, 0, 255)

I sa ovim dobijem da je "Boja = 16711935"

Meni treba da iz npr. broja 16711935 izvucem koliko ima CRVENE, Koliko ZELENE, a
koliko PLAVE, da bi mogao da izmijenim te vrijednosti i ponovo ih proslijedim
u funkciju RGB.
Ero S Onoga Sveta
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Funkcija suprotna "RGB(255,0,255)" Kako???15.10.2007. u 23:29 - pre 201 meseci
pa generalno imash dva nacina, laksi (tj laksi za shvatanje) koji nije bash efikasan (tj sporiji je) i tezi (al opet nije tezak, samo je mozda nekome teze da ukapira, ali je generalno i on prost :D)

LM, prvi nacin je da taj broj pretvoris u hexadecimalni (string) i da "cupas" po dva karaktera (po bajt tj), evo koda:
Code:

Function Long2RGB(ByVal lColor As Long) As Byte()
    
    Dim sColor          As String
    Dim bRet(0 To 2)    As Byte
    
    sColor = Right$("000000" & Hex$(lColor), 6)
    
    bRet(0) = CByte("&H" & Right$(sColor, 2))   ' Red
    bRet(1) = CByte("&H" & Mid(sColor, 3, 2))   ' Green
    bRet(2) = CByte("&H" & Left$(sColor, 2))    ' Blue
    
    Long2RGB = bRet
    
End Function


a drugi nacin je pomocu aritmetike (bez konverzije u string):
Code:

Function Long2RGB(ByVal lColor As Long) As Byte()
    
    Dim bRet(0 To 2)    As Byte
    
    bRet(0) = lColor Mod 256                    ' Red
    bRet(1) = (lColor \ &H100) Mod 256      ' Green
    bRet(2) = (lColor \ &H10000) Mod 256   ' Blue
    
    Long2RGB = bRet
    
End Function


pa ti vidi sta ti vise odgovara...
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: Funkcija suprotna "RGB(255,0,255)" Kako???16.10.2007. u 00:40 - pre 201 meseci
Ja bih pomenuo i jos duzi ali na duge staze rekao bih korisniji nacin
Napravis klasu Color koja ce imati propertije Red As Byte, Green As Byte, Blue As Byte, Value As Long; dva konstrukora, jedan sa R, G i B parametrima drugi sa jednim Long parametrom.
Onda po volji/potrebi mozes da dodas i neke metode kao sto su recimo ToCMYK (ili property-je Cyan, Magenta Yellow, Key) ili recimo ToGray koji ce konvertovati u nijansu sive... Uh, pustio sam misli daleko. Naravno, sa svrhom, poenta je bila da se pokaze za koje slucajeve je ovo dobar nacin (prosirivost pre svega).

Sad, u zavisnosti sta radis, koliko ti cesto trebaju ovakve stvari i sl. odluci koji ti nacin najvise odgovara
 
Odgovor na temu

BinLaden
Ni na nebu ni na zemlji

Član broj: 147476
Poruke: 102
*.teol.net.

Sajt: www.sove-soft.rs.ba


Profil

icon Re: Funkcija suprotna "RGB(255,0,255)" Kako???17.10.2007. u 00:10 - pre 201 meseci
@shadowed ti si skroz ogrezao u objektno programiranje pa bi od svega
pravio klasu. Vjerovatno je to profesionalna deformacija :).

Iskoristio sam drugo rjesenje od aleksandra. Evo dole sam prikacio jedan
skracen projekat da vidte zbog cega mi je trebalo.
Ko ima vremena volio bi da ga pogleda i ako nadje nesto sto bi se moglo ispraviti
ili uraditi na drugi nacin, bilo bi mi od koristi.
Ero S Onoga Sveta
Prikačeni fajlovi
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Funkcija suprotna "RGB(255,0,255)" Kako???17.10.2007. u 01:55 - pre 201 meseci
@Shadowed ti to vrbujes korisnike u VB.NET sektu? :)
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: Funkcija suprotna "RGB(255,0,255)" Kako???17.10.2007. u 16:16 - pre 201 meseci
Citat:
BinLaden: @shadowed ti si skroz ogrezao u objektno programiranje pa bi od svega
pravio klasu. Vjerovatno je to profesionalna deformacija :).

Pa, sta znam, i mnogi "veliki" su tako uradili (pravo sa Color klasom a i sa principom sve je klasa). MS sa .net jezicima, Sun sa Javom...
Ali za ovaj slucaj sam to pomenuo kao nacin za odredjenu grupu situacija. Ako ti ova stvar trebala sada na 2-3 mesta u programu i znas da ti nece trebati verovatno godinu dana a i tada nesto malo, naravno da ces koristiti neki jednostavniji nacin (koje je Aleksandar pomenuo). Ali ako cesto pravis neke aplikacije koje rade sa grafikom, ovo sa klasom je bolja varijanta.


@Krcko, šššššš ;)
 
Odgovor na temu

BinLaden
Ni na nebu ni na zemlji

Član broj: 147476
Poruke: 102
*.teol.net.

Sajt: www.sove-soft.rs.ba


Profil

icon Re: Funkcija suprotna "RGB(255,0,255)" Kako???17.10.2007. u 22:55 - pre 201 meseci
Ma nemam ja nista protiv objektnog programiranja, nasuprot....
Naravno da su korisne mogucnosti klasa... pogotovo kad se radi u grupi, i
lakse je ispravljanje mogucih bugova, nadogradnja... Sam sam rekao da sam napravio
nekoliko klasa za stvari koje cesto koristim, ali nemam potrebu da
za svaki problem pravim novu klasu.
Klase imaju i mana pored dobrih osobina jer mnogo vise memorije pri izvodjenju
trose od koda ugradjenog u formu.

Druga stvar sto mi se klase ne svidjaju je, ono kad nam je g. rajko objasnjavo
kako trba da se radi sa klasama. Kad sam vidio koliko je to komplikovano,
zapetljano i koliko tu koda terba... odma sam se razocarao u klase.

Ovo sto je aleksandar povezao tvoj post sa VB.Netom...
Moje misljenje je da nije programski jezik najbitniji faktor koji te odredjuje kojim
nacinom ces da pises i razvijas aplikaciju. Na to najvise utice okruzenje
u kome radis. Lupam, vi radite u timovima od mozda 5-10 ljudi i svako dobije
neki odredjen dio aplikacije da odradi. Ili uzmimo jedan Windows na kome radi
recimo 1000 programera. Normalno je da ce svaki programer dobiti jednu cjelinu
ili ti svoju klasu ili dll koji trba da odradi, koji ce kasnije biti povezani u
jedinstvenu aplikaciju. Logicno je da u tim okolnostima nema druge mogucnosti
da se radi nego pravljenjem objektcica koji se kasnije povezuju.

Naravoucenije: OOP nije "(bolje?), ni brze, ni lakse, niti se brze izvodi aplikacija"
od obicnog, nego je ono neizbjezno kada vise ljudi radi na jednoj aplikacij.
I u VB6 se moze sve uraditi OO pisanjem koda isto kao sto u VB.Net mozes
da pises sasvim obicnim nacinom.

Nego da ja postavim jos jedno pitanje da se nadovezem.
Kako da u CommonDialog-u, kad se otvori, da se automatski pozicionira
na odredjenu boju? Ovako kad god se otvori po defoult-u je na crnoj.
Probavao sam sa CD1.Color = 16711935, ali nece kao kod otvaranja ili snimanja
file-a kada mozes da mu proslijedis FileName.
Ero S Onoga Sveta
 
Odgovor na temu

goranvuc
Goran Vucicevic
Novi Sad

Član broj: 4934
Poruke: 1846
*.dialup.neobee.net.



+41 Profil

icon Re: Funkcija suprotna "RGB(255,0,255)" Kako???17.10.2007. u 23:26 - pre 201 meseci
Citat:
BinLaden:Nego da ja postavim jos jedno pitanje da se nadovezem.
Kako da u CommonDialog-u, kad se otvori, da se automatski pozicionira
na odredjenu boju? Ovako kad god se otvori po defoult-u je na crnoj.
Probavao sam sa CD1.Color = 16711935, ali nece kao kod otvaranja ili snimanja
file-a kada mozes da mu proslijedis FileName.

Pa moras pre poziva Color dijaloga da podesis flags svojstvo, tj. za ovo st ti treba:
Code:

CD1.Color = 16711935
CD1.Flags = cdlCCRGBInit
CD1.ShowColor

Naravno, boja mora biti jedna od boja sa palete, inace dzaba ;)
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: Funkcija suprotna "RGB(255,0,255)" Kako???17.10.2007. u 23:31 - pre 201 meseci
Ovo za CommonDialog ne znam, probao sam i kod mene nece da upamti boju sto je nelogicno tako da je mozda bug. Mozda je ispravljeno u nekom SP-u za VB6 (ili VS6), ako nemas najnoviji (ja nemam ni jedan).

Slazem se sa ovim sto si rekao. OOP kod se sam po sebi ne izvrsava brze niti ista slicno, u pitanju je cista produktivnost. I jeste uglavnom u timskom radu, ali dobar je i za code-reuse kod pojedinacnog programera. U svakom slucaju, OOP je pristup resavanju problema, nista vise od toga :)

Inace, kada u VB6 na "obican" nacin napravis neku funkciju ili proceduru (Sub), ti zapravo pravis metod klasi form1 (ili kako god da si nazvao formu) tako da zapravo i ti imas OOP samo sto ne primetis. A i sam taj Form1 je nasledjena klasa iz klase Form (sto je jelde, opet OOP) iako samo interno posto VB6 ne podrzava nasledjivanje.
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
89.216.223.*

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: Funkcija suprotna "RGB(255,0,255)" Kako???17.10.2007. u 23:39 - pre 201 meseci
Ne znam da li može sa Common Dialog kontrolom, odavno ne radim sa njom, ali sigurno može preko API-ja. Imaš dosta primera po netu. Evo ti jedan koji provereno dobro radi. Tutneš ovo u modul
Code:
Option Explicit

Private Type TCHOOSECOLOR
    lStructSize As Long
    hWndOwner As Long
    hInstance As Long
    rgbResult As Long
    lpCustColors As Long
    Flags As Long
    lCustData As Long
    lpfnHook As Long
    lpTemplateName As Long
End Type

Private Declare Function ChooseColor Lib "COMDLG32.DLL" Alias _
        "ChooseColorA" (Color As TCHOOSECOLOR) As Long

Public CustomColors(0 To 15) As Long

Public Function ColorDlg(hWndParent As Long, DefColor As Long, _
       Optional ShowExpDlg As Boolean = 0) As Long
    
   Dim I
   Dim C As Long
   Dim CC As TCHOOSECOLOR
    
   For I = 0 To 15
      CustomColors(I) = QBColor(15)
   Next I
    
   With CC
        
       .rgbResult = DefColor
       .hWndOwner = hWndParent
       .lpCustColors = VarPtr(CustomColors(0))
       .Flags = &H101
        
       If ShowExpDlg Then .Flags = .Flags Or &H2
        
       .lStructSize = Len(CC)
       C = ChooseColor(CC)
        
       If C Then
          ColorDlg = .rgbResult
       Else
          ColorDlg = -1
       End If
        
   End With
End Function

I onda pozivaš sa
Code:
Call ColorDlg(Me.hWnd, RGB(255, 0, 0), True)

prvi parametar ti je hwnd prozora, drugi je default boja, a treći vrsta dialoga, običan ili extended. Inače, jedan od razloga zašto ne koristim CD kontrolu više je taj što sam pre nekog vremena imao silne muke da nateram jednu aplikaciju da radi kod klijenta, a krivac je bio upravo CD. Ovo preko API-ja radi bez ikakvog cimanja. A možeš ćak i klasu da napraviš :)
Nego kad smo već kod klasa, za one koje mrzi da se bakću sa pisanjme klasa, kao mene recimo, dobro rešenje može biti Mztools. Lepo bukmarkuješ sve procedure i funkcije koje često koristiš i onda ih umetneš jednim klikom tamo gde ti trebaju.
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Funkcija suprotna "RGB(255,0,255)" Kako???19.10.2007. u 02:33 - pre 201 meseci
evo da udovoljim Shadowedu napisao sam jednu klasu koja predstavlja boju :)

dodao sam podrsku (pored RGB) za HSL i CMYK modele, postoje tri "konstruktora" (za RGB, HSL i CMYK) i moguce je "uneti" boju kao long vrednost (koju windows koristi, tj RGB zapisan u 4 bajta, iliti Long promenljivoj)

klasa moze da se koristi iza konverzuju boje izmedju ova tri formata (konverzija se radi "on demand", tj ako je boja zadata u RGB obliku konvertovace se u HSL tek onda kada se pristupi jednom od svojstava Hue, Satutiration ili Lightness)

dodao sam i ovaj kod sto je Marko postovao u obliku PickColor metode...
Prikačeni fajlovi
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: Funkcija suprotna "RGB(255,0,255)" Kako???19.10.2007. u 11:17 - pre 201 meseci
Hehehe. Sad cu bas ispasti filozof, kako rece Rajko. Ja pricam drugi kodiraju... zapravo hteo sam i sam to uraditi ali sam imao gomilu (fizickog) posla poslednjih nekoliko dana tako da ne stigoh.
Nisam sve detaljno pregledao ali mi deluje kao da ima malo previse koda, ali je to najverovatnije tako na prvi pogled.
Inace, ja bih cuveo samo Long vrednost a r, g, b, c, m,... bih racunao svaki put (ok, postoje neke situacije kada je to nezgodno, najbolje imati oba ili jedan boolean kojim bi se birala optimizacija cpu vs. ram).

U sustini, dve zamerke: manja - onaj pick color je, imho, suvisan, no, stvar ukusa i veca - nije Satituration nego Saturation

Sad ce ispasti da ja stalno nesto zameram, no, kao i uvek, sve na sta nisam imao primedbu moze se smatrati pohvaljenim
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Funkcija suprotna "RGB(255,0,255)" Kako???20.10.2007. u 00:53 - pre 201 meseci
pa znao sam ja da ces ti opet da "zakeras" :) ali sam mislio da ces mi zameriti sto za HSL i CMYK cuvam Double vrednosti a unosim ih i vracam kao Long.

moguce je da ima vise koda nego sto je potrebno ali je to napisano na brzinu i primetio sam da se HSL vrednosti ne poklapaju uvek sa onim koje Windows daje u njegovom color pickeru (mada sam ja implementiao algoritam sa easyrgb.com, mozda sam tu napravio neku gresku....)

LM, klasu sam napisao samo zato sto ti konstantno navaljujes sa tim OOP-om i odvlacis mi korisnike na .NET :)
salim se naravno, nema nista lose u OOP-u (cak naprotiv), al eto, nije VB6 za staro gvodje, moze u njemu nesto malo da se uradi...


edit: LOL, ne mogu da napisem piker u engleskom obliku :)
 
Odgovor na temu

Marko_L
Beograd

Član broj: 20532
Poruke: 2885
89.216.223.*

Jabber: Marko_L@elitesecurity.org


+828 Profil

icon Re: Funkcija suprotna "RGB(255,0,255)" Kako???21.10.2007. u 14:07 - pre 201 meseci
Pa kad su ludi englezi "biralicu" nazvali pick3r :)
-Odracuonogakomijedrpiorazmaknicu.
-Ne rxdi mi txstxturx, kxd god hocu dx
ukucxm "x" onx ukucx "x".
-Ko kaaz e da ja neuummem da kuuca
m.
-Piše "Insert disk 3", a jedva sam i ova
dva ugurao u drajv
-Postoje samo dve osobe kojima
verujem, jedna sam ja, a druga nisi ti
 
Odgovor na temu

BinLaden
Ni na nebu ni na zemlji

Član broj: 147476
Poruke: 102
*.teol.net.

Sajt: www.sove-soft.rs.ba


Profil

icon Re: Funkcija suprotna "RGB(255,0,255)" Kako???21.10.2007. u 16:14 - pre 201 meseci
Sad sam i ja uzeo na brzinu da pregledam aleksandrovu klasu i prvo sto mi je upalo
u oko je to sto si jedan sub nazvao "Reset", sto je jedna od komandi VB-a, koja
sluzi za zatvaranje svih fajlova otvorenih naredbom "Open". Mislim da nije
dobra praksa koristiti neke od kljucnih rijeci ili komandi za nazive funkcija
promjenjivih.... jer u nekim slucajevima moze doci do greski pri izvodjenju aplikacije.
Mada sam VB ne dozvoljava vecinu kljucnih rijeci i komandi da se koriste u nazivima
vidimo da je moguce Funkciji dodijeliti ime koje je jedna od njegovih implementiranih
komandi, a kako rekoh mislim da to nije dobra praksa.
Ero S Onoga Sveta
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Funkcija suprotna "RGB(255,0,255)" Kako???21.10.2007. u 16:28 - pre 201 meseci
pa isto tako sam koristio i naziv RGB, a kao sto si mozda primetio pozivam i vb-ov RGB pomocu "pune" putanje do funkcije tj Information.RGB (ovo Information je modul u kom se RGB f-ja nalazi), sto se tice Reseta, em sto je to privatna metoda (nije moguce pozvati je izvan klase) em sto ja veoma cesto koristim taj naziv jer skoro nikad (ustvari, sad kad razmislim malo bolje, nikada) nisam koristio Reset da zatvaram fajlove (za to koristim Close za svaki fajl) a ionako izbegavam da koristim vb-ove metode za pristup fajlovima (open for ....) uglavnom koristim FSO ili neku vec drugu klasu...
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: Funkcija suprotna "RGB(255,0,255)" Kako???21.10.2007. u 17:32 - pre 201 meseci
Citat:
Marko_L: Pa kad su ludi englezi "biralicu" nazvali pick3r :)

Mislis picker? ;]
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Funkcija suprotna "RGB(255,0,255)" Kako???21.10.2007. u 18:41 - pre 201 meseci
nije fer, vi super moderatori nemate bad word filter :)
 
Odgovor na temu

BinLaden
Ni na nebu ni na zemlji

Član broj: 147476
Poruke: 102
*.teol.net.

Sajt: www.sove-soft.rs.ba


Profil

icon Re: Funkcija suprotna "RGB(255,0,255)" Kako???22.10.2007. u 01:39 - pre 201 meseci
@Alexandar.
Svojevremeno sam ja bio kritikovan od strane nekih moderatora zbog mog ne imenovanja promjenjivih
i procedura, po pravilu, odnosno kako je preporuceno da se imenuju, a ti sada branis svoje metode koje
u ovom slucaju odstupaju od pravila.
"Reset" sam zapazio jer mi je bilo cudno otkud ta komanda kada ne baratas s fajlovima, a Sub RGB tek sada
kad si napisao. U ovom slucaju, slazem se da nece smetati, ali gledano uopsteno, to moze izazvati probleme.
To bi bilo slicno kao drzanje dvije istoimene funkcije u dva razlicita modula, pa sad pri pozivanju jos moras
da pozivas ime modula pa jos i funkciju. Ja mislim da je to bespotrebno komplikovanje.
A kad si spomenuo FSO on se ne moze usporediti sa starim komandama "Open" za pristup file-ovima,
jer je osakacen, odnosno ne dovrsen za sve nacine pristupa file-ovima koje ima komanda Open.
Vidio sam da je u VB.Net komanda Open izbacena, ali nisam gledao da li je FSO nadogradjen za nedostatke
koje je imao, odnosno mozda je zamijenjen nekom drugom klasom, al to nam sigurno @Shadowed moze reci.

Kad sam se malo detaljnije upustio u razgledanje koda, primijetio sam da cesto koristis dva ugnijezdena "IIF-a".
Koliko ja znam, bukvalno: jedan IIf je jednak:
Code:
If...Then
'......
Else
'......
End If

Pa si ti stoga ustvari napravio:
Code:
    If ... Then
        '....
    Else
        If ... Then
            '...
        Else
            '...
        End If
    End If

Sto je gledajuci sa Krasnopis strane odlicno, ali sa procesorske dosta komplikovano.
Mislim da bi mnogo jednostavnije i citkije bilo koristenje If..Then ElseIf.. Then
Code:
If Cyan < 0 Then
'......
ElseIf Cyan > 100 Then
'......
End If

ili ako bas hoces da skratis kod onda dva If... Then
Code:
If Cyan < 0 Then Cyan = 0
If Cyan > 100 Then Cyan = 100

Nasaosam jos jednu greskicu. Naime Dialog-Box ne pamti Custom Boje. Gledao sam u API-Guide i skontao
da je greska u tome sto "lpCustColors" u tipu "CHOOSECOLOR" mora definisati kao string, a ne kao long, sto
ce kasnije promijeniti i operacije na njemu.

Sve u svemu, da se knjizevnim rijecnikom izrazim, klasa je vrlo zivopisno napisana i sa velikom paletom rijeci,
to jest programerskim rijecnikom receno, korisceno je skoro sve sto je ugradjeno u VB: Petlje, IIf, Nizovi, Type, Case,
Enumeracije, Property Get Let, Proceduralno pisanje.... i jos na sve to sve je ubaceno u Klasu na radost shadoweda.
Sto se mene tice polozio si Diplomski rad ;)
Mala zamjerka je teska citljivost zbog velikog proceduralnog razlaganja koda, al posto je sve u
klasi to je manje-vise nebitno, osim za nas cjepidlake koji se trudimo da nadjemo dlaku u jajetu :)

Citat:
PS. Off.. Vidjeste li ljudi sta bi sa Hamiltona? Ko se kladio na Kimija dobro je proso.

Ero S Onoga Sveta
 
Odgovor na temu

Aleksandar Ružičić
Software Architect, Appricot d.o.o.
Beograd

Član broj: 26939
Poruke: 2881

Jabber: krckoorascic@gmail.com
Sajt: krcko.net


+44 Profil

icon Re: Funkcija suprotna "RGB(255,0,255)" Kako???22.10.2007. u 03:30 - pre 201 meseci
Citat:
BinLaden: Svojevremeno sam ja bio kritikovan od strane nekih moderatora zbog mog ne imenovanja promjenjivih
i procedura, po pravilu, odnosno kako je preporuceno da se imenuju, a ti sada branis svoje metode koje
u ovom slucaju odstupaju od pravila.
"Reset" sam zapazio jer mi je bilo cudno otkud ta komanda kada ne baratas s fajlovima, a Sub RGB tek sada
kad si napisao. U ovom slucaju, slazem se da nece smetati, ali gledano uopsteno, to moze izazvati probleme.

pa ne branim ih ja, rekao sam da sam to pisao na brzinu (a iskren da budem nisam imao pojma da Reset postoji u vb-ovim modulima) i ovaj kod koji sam postovao svakako da nije napisan "striktno po pravilima" vec samo na "nagovor" Shadoweda :)

Citat:
BinLaden:
A kad si spomenuo FSO on se ne moze usporediti sa starim komandama "Open" za pristup file-ovima,
jer je osakacen, odnosno ne dovrsen za sve nacine pristupa file-ovima koje ima komanda Open.

hmm, ovo nije mesto (zalazi u offtopic) ali bih voleo da mi dokazes sta to moze pomocu Open konstrukcije a ne moze sa FSO-om (pricam o radu sa fajlovima, ne sa hardverom, akoto moze Open u VB-u, znam da je moglo u qbasicu)

Citat:
BinLaden:
Kad sam se malo detaljnije upustio u razgledanje koda, primijetio sam da cesto koristis dva ugnijezdena "IIF-a".
Koliko ja znam, bukvalno: jedan IIf je jednak:
Code:
If...Then
'......
Else
'......
End If

Pa si ti stoga ustvari napravio:
Code:
    If ... Then
        '....
    Else
        If ... Then
            '...
        Else
            '...
        End If
    End If

Sto je gledajuci sa Krasnopis strane odlicno, ali sa procesorske dosta komplikovano.
Mislim da bi mnogo jednostavnije i citkije bilo koristenje If..Then ElseIf.. Then
Code:
If Cyan < 0 Then
'......
ElseIf Cyan > 100 Then
'......
End If

ili ako bas hoces da skratis kod onda dva If... Then
Code:
If Cyan < 0 Then Cyan = 0
If Cyan > 100 Then Cyan = 100


dva ugnjezdena Iif-a koristim samo za ovakve situacije, kada vrednost jednog parametra treba da ogranicim na min i max vrednosti, meni to nije necitljivo jer sam sretao bash kod dosta ljudi da Iif koriste za to... (i u jezicima gde postoji tenarni operator tj ?: operator, koristim ga samo u istom slucaju, kad ogranicavam vrednost ulaznih parametara)

a to da je
Code:
    If ... Then
        '....
    Else
        If ... Then
            '...
        Else
            '...
        End If
    End If

zahtevnije za izvrsavanje od Iif-a uopste nije tacno, jer vb za oba nacina generise isti kod (bar bi trebalo da je tako, ako ovi iz redmonda se nisu pravili pametni, pa zaboravili da optimizuju)

dok je ovo
Code:

If Cyan < 0 Then Cyan = 0
If Cyan > 100 Then Cyan = 100

zahtevnije za izvrsavanje jer iako je Cyan manji od nule izvrsice se druga provera (sto je besmisleno, jer je vec manji broj od nula, pa ne moze da bude istovremeno veci od 100) znaci umesto samo jednog jumpa imas dva (od kojih je drugi bespotreban)... ali to jeste citljivije

[Ovu poruku je menjao Aleksandar Ružičić dana 22.10.2007. u 04:50 GMT+1]

[Ovu poruku je menjao Shadowed dana 22.10.2007. u 11:54 GMT+1]
 
Odgovor na temu

[es] :: Visual Basic 6 :: Funkcija suprotna "RGB(255,0,255)" Kako???

Strane: 1 2

[ Pregleda: 4481 | Odgovora: 23 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.