"$0000FF" zu $0000FF werden lassen? [gelöst]
Übersicht

![]() |
TennisballBetreff: "$0000FF" zu $0000FF werden lassen? [gelöst] |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi,
ich hab folgendes Problem: Ich lese Farbwerte aus einer Textdatei, also: Code: [AUSKLAPPEN] $000000
$FFFFFF $0000FF usw... Dann habe ich ein Array colors$[2], in dem ich das speichere. Nun möchte z.B. machen Code: [AUSKLAPPEN] color 0,0,colors$[2]
plot x,y ...oder... writepixelfast(x,y,colors$[2]) Nun habe ich aber festgestellt, dass sowas hier: Code: [AUSKLAPPEN] Color 0,0,"$0000FF"
Print "haaaaaaaallllllloooooooo!!!!!!!" WaitKey() End nicht funktioniert. Meine Frage ist nun: Wie kann ich das mit dem String-Array lösen? mfg, Tennisball |
||
- Zuletzt bearbeitet von Tennisball am Di, Nov 24, 2009 22:39, insgesamt einmal bearbeitet
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
WritePixelFast![]() |
||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
DjDETE |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Überprüfen ob der "" enthalten sind und ggf. löschen.
Instr ![]() ![]() ![]() MfG |
||
Aktuelles Projekt: XXX |XXX | 3% der v1b fertig
www.emu-soft.de.vu Für die Homepage suche ich noch Linktauschpartner, bei Interesse einfach melden. |
![]() |
Tennisball |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Nicdel : runtimeerror Int(colors[2])
Resultat : 0 @DjDete : Ich glaube du hast mich falsch verstanden... "s sind ja um Strings immer drum, siehe 3. "Code" von mir da oben. |
||
![]() |
Nicdel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du hast recht, das casten funktioniert nicht...
Lösung: https://www.blitzforum.de/foru...php?t=9424 |
||
Desktop: Intel Pentium 4 2650 Mhz, 2 GB RAM, ATI Radeon HD 3850 512 MB, Windows XP
Notebook: Intel Core i7 720 QM 1.6 Ghz, 4 GB DDR3 RAM, nVidia 230M GT, Windows 7 |
Kruemelator |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ist nicht sehr schön, aber es funktioniert ![]() Hex liefert zwar nur Großbuchstaben zurück in Blitz, aber funktioniert auch wenn man z.B. "$Af04dB" hat. Code: [AUSKLAPPEN] wert$ = "$ff0aFF"
For stelle=0 To 5 wertstring$ = Mid(wert$,7-stelle,2) If Asc(wertstring$) >= 48 And Asc(wertstring$) <= 57 Then farbwert = farbwert + 16^stelle * (Asc(wertstring$)-48) EndIf If Asc(wertstring$) >= 65 And Asc(wertstring$) <= 70 Then farbwert = farbwert + 16^stelle * (Asc(wertstring$)-55) EndIf If Asc(wertstring$) >= 97 And Asc(wertstring$) <= 102 Then farbwert = farbwert + 16^stelle * (Asc(wertstring$)-87) EndIf Next Print farbwert Print Hex(farbwert) WaitKey() End |
||
![]() |
mpmxyz |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe für einen hier veröffentlichten Ini-Reader eine "Int2"-Funktion geschrieben.
Die wandelt Strings so in Integer um, wie es auch der Blitzcompiler mit den Zahlen im Code macht: (Nur bei Floats funktioniert diese Funktion nicht so 100%ig.) BlitzBasic: [AUSKLAPPEN] Function HexToInt(HexS$);Umwandlung eines hexadezimalen Zahlenstrings in einen Integer Die sollte wahrscheinlich mehr als genug können. mfG mpmxyz |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
![]() |
Tennisball |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bedanke mich bei allen, es funktioniert bestens ![]() |
||
BBPro2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
wie ihr ma alle keine ahnung von laufzeit habt...
das effizienteste ist obv mein code... Code: [AUSKLAPPEN] Function getHex (s$)
maxvalue = 16 ^ Len(s$) - 1 If Len (s$) < 8 Then zeros = 8 - Len (s$) For i = 1 To zeros s$ = "0" + s$ Next End If For i = 0 To maxvalue If Hex$ (i) = s$ Then Return i Next End Function obviously O(n) ! |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Das ist ein Witz oder?
Wenn du zum Beispiel "$FFFFFF" konvertieren willst, ist dein n gleich 16.777.215. Du benötigst also so viele Durchläufe, bist du einen Treffer hast. Und du musst so oft die Hex-Funktion von BB aufrufen. Teurer geht's kaum. Die vorher geposteten Version benötigen da in ihrer Schleife gerade mal 6 Durchläufe. ![]() |
||
Intel Core i5 2500 | 16 GB DDR3 RAM dualchannel | ATI Radeon HD6870 (1024 MB RAM) | Windows 7 Home Premium
Intel Core 2 Duo 2.4 GHz | 2 GB DDR3 RAM dualchannel | Nvidia GeForce 9400M (256 MB shared RAM) | Mac OS X Snow Leopard Intel Pentium Dual-Core 2.4 GHz | 3 GB DDR2 RAM dualchannel | ATI Radeon HD3850 (1024 MB RAM) | Windows 7 Home Premium Chaos Interactive :: GoBang :: BB-Poker :: ChaosBreaker :: Hexagon :: ChaosRacer 2 |
![]() |
Noobody |
![]() Antworten mit Zitat ![]() |
---|---|---|
BBPro2 hat Folgendes geschrieben: obviously O(n) !
Dafür sind die Codes der anderen O(1) ![]() |
||
Man is the best computer we can put aboard a spacecraft ... and the only one that can be mass produced with unskilled labor. -- Wernher von Braun |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
[trash]
BBPro2 hat Folgendes geschrieben: und ich studiere informatik im 5. semester
![]() Jaja, jetzt versteh ich die Diksussion um Missstände an den Universitäten... [/trash] |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
da_poller |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
BBPro2 hat Folgendes geschrieben: wie ihr ma alle keine ahnung von laufzeit habt...
das effizienteste ist obv mein code... Code: [AUSKLAPPEN] Function getHex (s$)
maxvalue = 16 ^ Len(s$) - 1 If Len (s$) < 8 Then zeros = 8 - Len (s$) For i = 1 To zeros s$ = "0" + s$ Next End If For i = 0 To maxvalue If Hex$ (i) = s$ Then Return i Next End Function obviously O(n) ! fur das, dass du angeblich im 5. semester informatik studierst solltest du gaaaanz vorsichtig mit solch herablassenden kommentaren sein. zum einen weil dein codevorschlag absolut hirnrissig ist, zum anderen weil gute und richtige lösungen bereits genannt wurden(von leuten die nciht studieren aber wohl mehr ahnung haben als du) und zum dritten weil 5. semester und dieser code deine glaubwürdigkkeit seeeeeeehr schmälern. sorry musste raus. |
||
BBPro2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
rofl.
ironie versteht hier obv ma keiner im forum. vor allem da_poller nicht.^^ das ist der schlechteste (ineffizient) noch sinnvolle (dennoch effektiv) algorithmus den man für diese aufgabe erstellen kann. alles andere was die laufzeit noch weiter erhöhen würde wäre sinnlose doppelte arbeit. also nochmal im klartext für da_poller: NICHTS an meiner aussage war ernst gemeint, es war reine ironie. edit: ich weiß nich wann und wo ich geschrieben hab dass ich 5. semester informatik studieren, muss jedoch ein tippfehler gewesen sein: ich studiere im 3. auch wenns egal ist, da ich in der 8. klasse schon solchen code nicht ernsthaft fabriziert hätte ^^ - wollte es nur feststellen ![]() |
||
![]() |
D2006Administrator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dann bitte ich dich, sowas zukünfig besser zu kennzeichnen. Stell dir vor, ein Anfänger kommt um die Ecke, liesat deinen Beitrag, als wäre er ernst gemeint und nutzt deinen Code. Fatal! ![]() PS: Das mit dem 5. Semester hast du hier geschrieben. |
||
BBPro2 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
ok vielen dank, habs grad mal editiert.
naja stell ich mir nich so schlimm vor - ein anfänger schreibt eh programme, bei denen effektivität vor effizienz kommt - sollte er irgendwann so weit sein, dass er programme schreibt bei denen effizienz tatsächlich wichtig wird, sollte er bereits weit genug sein meinen code als humbug enttarnen zu können. auch wenn er ggf (wie wohl die meisten hier) keinen sarkasmus versteht, so sollte er dennoch in der lage sein schwachsinnigen code zu entlarven *g wie dem auch sei, werd ich mich in zukunft halt zurückhalten was das angeht^^ |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group