Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

getopenfilename
Gehe zu Seite Zurück  1, 2
 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 19.07.2005, 11:34    Titel: Antworten mit Zitat

Ja natürlich, da der STRING anscheinend kein CHR$(0) transportieren kann, aber das letzte Arrayelement lautet sowieso 0. Dadurch ist das Array schon "nullterminiert", wodurch du CHR$(0) am Ende nicht mehr mitgeben musst. Wenn du CHR$(0) inmitten des Strings benutzen willst, würde ich dir raten CHR$(219) oder sowas zu schreiben und dann in der Umwandelsub dieses hier zu machen:
If BArray(i&) = 219 Then BArray(i&)=0
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
licer



Anmeldungsdatum: 17.05.2005
Beiträge: 51

BeitragVerfasst am: 19.07.2005, 11:40    Titel: Antworten mit Zitat

Ich hab eine Lösung:

Code:

sub StringToByteArray(MyString As String, ByteArray() As Byte)
    Redim BArray(LEN(MyString)) As Byte
    For i& = 1 TO LEN(MyString)
        if (MID$(MyString, i&,1)) <> "|" then   
            BArray(i&-1) = ASC(MID$(MyString, i&,1))
        else BArray(i&-1) = 0
        end if
    NEXT i&
    Redim ByteArray(LEN(MyString)) As Byte
    FOR i& = 0 TO UBOUND(BArray)
        ByteArray(i&) = BArray(i&)
    Next i&
    Erase BArray
End sub


Neu ist dieser Teil
Code:

  if (MID$(MyString, i&,1)) <> "|" then   
            BArray(i&-1) = ASC(MID$(MyString, i&,1))
        else BArray(i&-1) = 0
        end if


Somit kann der String jetzt wie folgt geschrieben werden:

Code:

stringtobytearray "Text File(*.txt)|*.txt|All Files(*.*)|*.*||",ByteArray


Hab also einfach mein eigenes Trennzeichen definiert.
Danke für die Hilfe allein wäre ich da nie drauf gekommen.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 19.07.2005, 11:43    Titel: Antworten mit Zitat

Prima! lächeln Funktionierts auch schon mit dem comdlg?
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
licer



Anmeldungsdatum: 17.05.2005
Beiträge: 51

BeitragVerfasst am: 19.07.2005, 11:45    Titel: Antworten mit Zitat

Jap das war ja der sinn der sache.

Den Array dann einfach mit @ByteArray(0) (Also erstes zeichen) übergeben und alles funktioniert wunderbar.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 19.07.2005, 11:46    Titel: Antworten mit Zitat

Super, das meinte ich, ob die Übergabe des ByteArrays so funktioniert. happy
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
licer



Anmeldungsdatum: 17.05.2005
Beiträge: 51

BeitragVerfasst am: 19.07.2005, 11:52    Titel: Antworten mit Zitat

Da ich auch noch probleme mit meiner Listbox hatte hab ich das ganze da auch mal ausprobiert. Es funktioniert allerdings muss die das @ weggelassen werden also so:


Code:

dim test as string
test = "Hallo|"
stringtobytearray test,ByteArray()
sendmessage hbtn(1), LB_ADDSTRING, null, Bytearray(0)


Kann man sich eigentlich irgendwo melden wenn man Bugs in Freebasic enddeckt hat? Denn ich finde null strings sollte man schon einfacher definieren können und das könnte man ja mal für die nächste Freebasic versin vormerken.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
Sebastian
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 5969
Wohnort: Deutschland

BeitragVerfasst am: 19.07.2005, 11:53    Titel: Antworten mit Zitat

Hallo.

Im Forum von www.freebasic.net freuen die sich über alle Bugreports. lächeln

Viele Grüße!
Sebastian
_________________

Die gefährlichsten Familienclans | Opas Leistung muss sich wieder lohnen - für 6 bis 10 Generationen!
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
licer



Anmeldungsdatum: 17.05.2005
Beiträge: 51

BeitragVerfasst am: 19.07.2005, 12:16    Titel: Antworten mit Zitat

Ok habs jetzt mal ins Freebasic.net forum gepostet.

Ich hoffe mein Englisch war verständlich genug *g*
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
PeterHarder



Anmeldungsdatum: 27.03.2005
Beiträge: 45
Wohnort: Deutschland

BeitragVerfasst am: 20.07.2005, 01:06    Titel: Antworten mit Zitat

Mit der neuen Version 0.14 (unstable testing) soll es angeblich möglich sein, auch Chr$(0) zu speichern. Ob nun nur mit ZSTRING oder auch mit STRING weiß ich allerdings nicht, am besten mal "changelog.txt" der 0.14 durchschnüffeln. Ich selber hab' die neueste Version 0.14 noch nicht, hab' die Info nur im englischsprachigen Forum aufgeschnappt.

Liebe Grüße

Peter
_________________
Deutsche Mailingliste für freeBASIC: de.groups.yahoo.com/group/free-basic.
Zum Anmelden einfach eine leere E-Mail an free-basic-subscribe@yahoogroups.de senden.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Gehe zu Seite Zurück  1, 2
Seite 2 von 2

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz