Bank und Strings
Übersicht

![]() |
Der EisvogelBetreff: Bank und Strings |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo
Gibts es eine Möglichkeit einen String in eine Bank zu schreiben? Also sowas hier geht nicht: Code: [AUSKLAPPEN] PokeInt(bank,0,66)
PokeInt(bank,0,107) PokeInt(bank,0,97) Dann nacheinander auslesen und zu Buchstaben umwandeln. Damit kann ich leider nix machen. Es muss so gehen: Code: [AUSKLAPPEN] PokeInt(bank,0,"String")
Das geht leider nicht. Hat jmd einen Ausweg parrat? Edit: Besser gefragt: Kann man einen String in eine Zahl umwandeln und umgekehrt? MfG Der Eisvogel |
||
![]() |
ToeB |
![]() Antworten mit Zitat ![]() |
---|---|---|
Den string in Zahlen : Asc![]() Die Zahl in String : Chr ![]() Dazu musst du jeden Buchstaben vom String nehmen, ihn in den Ascii code umwandeln, in die Bank speichern, auslesen, und dann mit Chr wieder verknüpfen... mfg ToeB |
||
Religiöse Kriege sind Streitigkeiten erwachsener Männer darum, wer den besten imaginären Freund hat.
Race-Project - Das Rennspiel der etwas anderen Art SimpleUDP3.0 - Neuste Version der Netzwerk-Bibliothek Vielen Dank an dieser Stelle nochmal an Pummelie, welcher mir einen Teil seines VServers für das Betreiben meines Masterservers zur verfügung stellt! |
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Genau das kann ich nicht verwenden. LESEN
Ich habe etwas weiter geguckt und bin drauf gekommen den strin in Hex zu konvertieren. Jetzt mach ich grad an einer Funktion Dafür rum. Wenn jmd eine hat, bitte posten. MfG Der Eisvogel |
||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Sowas wie... Hex![]() |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Die Funktion kenne ich schon, aber die Kann nur Zahlen nehmen und nicht das Wort "Hallo".
EDIT: Mir grad aufgefallen, das ich mit Hex nicht weiterkomme, denn da könnte ich nur 4 Buchstaben Wörter machen. Neue Idee. |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Natürlich geht das nur mit Zahlen. Hex ist nur ne andere Art Zahlen darzustellen, wie Binär und Dezimal. Buchstaben bzw. Strings sind als Ascii codiert. | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Mir geht iwie grad nicht ein, warum du ToeB's Lösung nicht verwenden kannst?
So macht das nämlich jedes Programm, das Strings in eine Bank schreibt. Und wenn du es als Funktion haben willst, dann pack es dir in eine Funktion ![]() mfG, Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich übergebe diese Bank an eine Funktion, und diese holt sich den Text nur von dieser einen Stelle. Also ich kann die einzelnen Buchstaben nicht umwandeln und dann immer eine Stelle in der Bank weitergehen, da immer nur von einer einzigen Stelle der Text genommen wird. | ||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
![]() |
Vulture |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nabend,
BlitzBasic hat an sich bei der installion, schon ein paar Libs dabei, die du verwenden kannst, darunter auch die Funktion PeekString und PokeString. Man muss nur unter [Programme]\Blitz3D\libs suchen. Dort findet man auch ein paar andere nützliche dinge. Auserdem willst du deinen String als Integer Wert speichern was auch nie gehen wird ! File\peekstring.bb Code: [AUSKLAPPEN] Function peekstring$(buffer,position)
For n=0 To BankSize(buffer)-1 byte=PeekByte(buffer,position) If byte<>0 s$=s+Chr(byte) Else Return s EndIf position=position+1 Next RuntimeError "String terminator not found." End Function File\pokestring.bb Code: [AUSKLAPPEN] Function pokestring(buffer,position,s$)
For n=1 To Len(s) PokeByte buffer,position,Asc(Mid$(s$,n,1)) position=position+1 Next PokeByte buffer,position,0 End Function |
||
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Lies bitte mal den Beitrag über deinem.
Diese Funktion macht nix anderes als das was ich nicht verwenden kann. |
||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vielleicht könnte man dir besser helfen, wenn du sagst, was du denn schlussendlich erreichen möchtest... | ||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich möchte das erreichen, was der,der die ggTray.dll programmiert hat, nicht geschaft hat und zwar mit der Funktion Shell_NotifyIcon, nur mit dem unterschied, das ich ohne DLL klar kommen will. Ich brauche den Text in der Bank, damit über meinem Icon ein Tooltip erscheint, wenn ich mit der Maus drüberfahre. | ||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du scheinst da ein grundsätzliches Verstehensproblem zu haben, Eisvogel. Ein String belegt nunmal mehrere Byte im Speicher und die Dir gegebene Funktion macht nichts weiter als ab einer definierten Position Zeichen für Zeichen in die Bank zu schreiben. Zum Abschluss wird das Ganze 0-terminiert (d.h. mit der 0 abgeschlossen damit erkannt wird dass der String zu Ende ist. So und nicht anders funktioniert das eben.
Es ist also falsch anzunehmen dass die Funktion die Zeichenkette nur von Position 0 nimmt, denn eine Zeichenkette besteht nunmal aus Anzahl der Zeichen + 1 Byte. Wenn da also noch ein Fehler ist wird er wohl eher woanders liegen. Btw. möchte ich Dich bitten ein wenig höflicher zu sein, denn hier wird versucht dir zu helfen. Und da kommt Rumgeschnauze wie "LESEN" gar nicht gut. Es sei denn Du möchtest nicht dass man dir hilft. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Wenn du das so meinst:
Code: [AUSKLAPPEN] PokeInt(TIcon,24,84)
PokeInt(TIcon,28,101) PokeInt(TIcon,32,115) PokeInt(TIcon,36,116) PokeInt(TIcon,40,0) Da nimmt die Funktion auch nur das T(84). Edit: Wenn ich "meine", das etwas nicht geht und da kommt jmd und sagt doch ohne mir zu sagen wo mein Denkfehler ist, ist es schwer zu verstehen. Also Toeb: Sorry. |
||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Du solltest Pokebyte nehmen, dann geht es. Ein int besteht aus 4 Byte und die drei ausserhalb deines Buchstabens werden nur '0' sein und daher al nullterminierung erkannt.
Nochmal: die Funktion die dir Vulture postete macht genau das was du brauchst. |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Der Eisvogel |
![]() Antworten mit Zitat ![]() |
---|---|---|
Cool
Danke BladeRunner für die Aufklärung, und Entschuldigung an alle für meine Unhöflichkeiten. |
||
Ungarische Notation kann nützlich sein.
BlitzMax ; Blitz3D Win 7 Pro 64 Bit ; Intel Core i7-860 ; 8 GB Ram ; ATI HD 5750 1 GB Projekte: Window-Crasher Ich liebe es mit der WinAPI zu spielen. |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group