Strings problem?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

 

bruce85

Betreff: Strings problem?

BeitragSa, März 31, 2007 12:20
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo,
also ich brauche mal wieder eure hilfe und zwar habe ich von meiner MySQL Datenbank die ganzen sätze exportiert und als txt abgespeichert, jetzt lade ich es in in mein BB Pogramm und möchte z.B. diese text eine andere variable zuweisen:

INSERT INTO `saetze` VALUES (1, '1174857384', 'Doch guter teuer. Rat war', 'Doch guter Rat war teuer.');

also das was ich rot markiert habe, möchte ich diese variable zuweisen, hab das mal so probiert:

Code: [AUSKLAPPEN]
Function LoadFile()

  Datei = ReadFile("Sätze.txt")

  If Not Datei = 0 Then
    While Not Eof(Datei)
      ReadLine(Datei)
      saetze_insgesamt=saetze_insgesamt+1
    Wend
    SeekFile Datei,0
    For i=1 To saetze_insgesamt
      t.texte = New texte
      t\tex$ = ReadLine(Datei)
      t\tex2$ = Left(t\tex$,Instr(t\tex$,"'")-0)
      t\tex3$ = Mid(t\tex$,Instr(t\tex$,"'")-0)
      t\tex4$ = t\tex2$+t\tex3$
      t\tex_zaehler = i
      t\tex_x = 0
      t\tex_y = 0+i*20-20
    Next
    CloseFile(Datei)
  EndIf

End Function


aber da sind ja mehrere ' zeichen drin, wie kann ich das anstellen das ich diese texte wo ich markiert habe, eine andere variable zuweisen kann?

Und ich muss es so machen, da ich sehr viele Datensätze habe und es per Hand sehr lange dauern kann.

Ich habe zwar schon welche möglichkeiten gefunden, aber bin nie auf ein richtiges ergebnis gekommen...

Vielen Dank schonmal.

MfG Andreas
AMD Athlon(tm) II X2 250, 8 GB DDR, MSI MSI 770-C45, GeForce GTS 250

Smily

BeitragSa, März 31, 2007 14:56
Antworten mit Zitat
Benutzer-Profile anzeigen
Das ', welches du suchst befindet sich immer an 3. Stelle:

Code: [AUSKLAPPEN]

 pos = 0
 for x = 1 to 3
  pos = instr(s$,"'",pos+1)
 Next


Gruß, Smily0412
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org
 

bruce85

BeitragSa, März 31, 2007 17:05
Antworten mit Zitat
Benutzer-Profile anzeigen
Danke dir,
bin zwar grad net so fit aber könntest du mir vieleicht zeigen wie ich das was in diese 2 '' drin stehen, in eine andere variable speichern kann?
Hab das so probiert:

Code: [AUSKLAPPEN]
Function LoadFile()

  Datei = ReadFile("WordmixSätze.txt")

  If Not Datei = 0 Then
    While Not Eof(Datei)
      ReadLine(Datei)
      saetze_insgesamt=saetze_insgesamt+1
    Wend
    SeekFile Datei,0
    For i=1 To saetze_insgesamt
      t.texte = New texte
      t\tex$ = ReadLine(Datei)
      pos=0
      For x=1 To 3
        pos = Instr(t\tex$,"'",pos+1)
        t\tex2$=t\tex$
        t\tex_zaehler = i
        t\tex_x = 0
        t\tex_y = 0+i*20-20
      Next
    Next
    CloseFile(Datei)
  EndIf

End Function


ich weiss grad nicht ob es so richtig ist oder so Rolling Eyes

MfG Andreas
AMD Athlon(tm) II X2 250, 8 GB DDR, MSI MSI 770-C45, GeForce GTS 250

Smily

BeitragSa, März 31, 2007 19:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Das wäre ein guter Ansatz:

Code: [AUSKLAPPEN]
S$ = "blablabla 'abc' qwertz 'asdf'"
 pos = 0
 for x = 1 to 3
  pos = instr(s$,"'",pos+1)
 Next
 pos2 = instr(s$, "'", pos+1)
 Print mid$(s$, pos, pos2-pos)


du müsstest es nur noch an deinen Code anpassen.
habs aber nicht getestet. Kann sein, dass du beim mid-befehl bei den positionen noch +\-1 machen musst

Gruß, Smily0412
Lesestoff:
gegen Softwarepatente | Netzzensur | brain.exe | Unabhängigkeitserklärung des Internets

"Wir müssen die Rechte der Andersdenkenden selbst dann beachten, wenn sie Idioten oder schädlich sind. Wir müssen aufpassen. Wachsamkeit ist der Preis der Freiheit --- Keine Zensur!"
stummi.org

Silver_Knee

BeitragSa, März 31, 2007 23:21
Antworten mit Zitat
Benutzer-Profile anzeigen
oder mein between https://www.blitzforum.de/foru...hp?t=22536 Code: [AUSKLAPPEN]
s$="INSERT INTO `saetze` VALUES (1, '1174857384', 'Doch guter teuer. Rat war', 'Doch guter Rat war teuer.'); "
var1$=Between(s,"','","'");Zwischen ',' und dem darauf folgendem '
var2$=Between(s,var1+"','","'");Zwischen der ersten variable mit ',' und dem darauffolgendem'

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group