[GELÖST] Writestring - ich steh auffn schlauch :D
Übersicht

CO2ehemals "SirMO"Betreff: [GELÖST] Writestring - ich steh auffn schlauch :D |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hallo,
BMax macht wieder irrsinnig große Probleme: Ich möchte meinen CO2 Packager nach BMax übersetzen (um in via MaxGUI für den User leichter bedienbar zu machen), jedoch hat BMax was zu meckern: Wo man in BB noch einfach "WriteString [stream], [string]" schreiben konnte, erwartet BMax noch einen weiteren Parameter, nähmlich die größe des strings. Ich kenne aber die größe des zu schreibenden strings nicht ![]() Nur nochmal zum verständnis: Der User wählt irgendeine Datei auf seiner Festplatte aus. Danach klickt er auf "Container" -> "Speichern unter..." und wählt den speicherplatz aus. Nun geht das Programm wie folgt vor: Dateinamen lesen: aufschreiben (via WriteString), Dateigröße lesen: aufschreiben(via WriteInt), Dateiinhalt Byte für Byte auslesen + aufschreiben (via WriteByte). Das Problem: Ich kenne die länge des strings des Dateinamens nicht und weiß auch nicht wie ich sie herausfinden könnte... Achja, da fällt mir noch eine Frage ein: Wenn ich in BMax via WriteString einen String in eine Datei schreibe, kann ich ihn dann fehlerfrei mit BB (und dem Befehl ReadString) auslesen? ich hoffe, mein Problem kann man verstehen, mfG, CO2 PS.: Ich habe die suche benutzt, kam aber nichts raus (vllt. verwende ich sie auch falsch ![]() |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
- Zuletzt bearbeitet von CO2 am Do, Apr 07, 2011 20:52, insgesamt einmal bearbeitet
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
BlitzMax: [AUSKLAPPEN] Local txt:String = "Wie Lang bin ich?" |
||
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) |
![]() |
skey-z |
![]() Antworten mit Zitat ![]() |
---|---|---|
Laut Hilfe benötigt Writestring nur 2 Argumente, zum einen einen stream:TStream und den String selber
Code: [AUSKLAPPEN] Function WriteString( stream:TStream,str$ ) Mögliche Fehlerquellen (Super-)Strict verwenden aktuelle Version? |
||
Awards:
Coffee's Monatswettbewerb Feb. 08: 1. Platz BAC#57: 2. Platz |
- Zuletzt bearbeitet von skey-z am Mo, Apr 04, 2011 20:51, insgesamt einmal bearbeitet
![]() |
Thunder |
![]() Antworten mit Zitat ![]() |
---|---|---|
1. WriteString erwartet nicht als Parameter die Stringlänge, sondern wie BB nur die Datei und den String.
2. Die Größe einer Stringvariable strvar bekommst du über strvar.length 3. BB's WriteString ![]() -- Du könntest aber vor jedem WriteString ein WriteInt mit der Stringlänge einfügen. -- 4. Die Funktionen ReadString sind ebenfalls nicht kompatibel. Aber das wäre schon gelöst, wenn du obigen Ratschlag befolgst. |
||
Meine Sachen: https://bitbucket.org/chtisgit https://github.com/chtisgit |
![]() |
DaysShadow |
![]() Antworten mit Zitat ![]() |
---|---|---|
BlitzMax Hilfe hat Folgendes geschrieben: Function WriteString( stream:TStream,str$ )
Wo genau bitte erwartet dort die Funktion die Länge des Strings? Und ob das auslesen mit BB klappt hängt davon hab welche Art von String BB einliest, ob ASCII, UTF8 oder UTF16. BlitzMax schreibt, wenn ich mich nicht irre, UTF16 Strings, also 2 Byte pro Zeichen. Edit: Ah, Xeres/skey-z/Thunder waren schneller ![]() |
||
Blessed is the mind too small for doubt |
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok, danke für die Hilfe! Werd ich mal ausprobieren. | ||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
![]() |
mpmxyz |
![]() Antworten mit Zitat ![]() |
---|---|---|
@DaysShadow
BlitzMax liest und schreibt standardmäßig "Byte-Strings". (Umweg über CString) Nur bei TextStreams kann es das von dir beschriebene Verhalten geben. mfG mpmxyz |
||
Moin Moin!
Projekte: DBPC CodeCruncher Mandelbrot-Renderer |
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok, habe nun ein paar Funktionen zusammengebastelt, welche aber noch nicht funktionieren ![]() BlitzMax: [AUSKLAPPEN] Function WriteString2(Dateiname:TStream, str:String) 'Schreibfunktionfunktion Die Fehler sind: - Es wird die erste zeile immer frei gelassen. - Ist nicht BB kompatibel (Wenn man mit der WriteString2() Funktion einen String schreibt und ihn mit BB versucht auszulesen gibts nen MAV Ich hoffe ihr könnt mir helfen, mfG CO2 |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
![]() |
BtbN |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nimm halt nen Int statt nen Byte. 255 Zeichen max länge find ich persönlich ohnehin sehr knapp. | ||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Kann auch nicht kompatibel sein, da bb natürlich Int erwartet während du byte schreibst. | ||
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) |
CO2ehemals "SirMO" |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Ok, mit dem Int scheints zu klappen, besten dank jungs ![]() (Hier noch mal der Code mit dems klappt: BlitzMax: [AUSKLAPPEN] Function WriteString2(Dateiname:TStream, str:String)) mfG, CO2 |
||
mfG, CO²
Sprachen: BlitzMax, C, C++, C#, Java Hardware: Windows 7 Ultimate 64-Bit, AMX FX-6350 (6x3,9 GHz), 32 GB RAM, Nvidia GeForce GTX 750 Ti |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group