text in eine textarea laden/aus textarea speichern

Übersicht BlitzBasic BlitzPlus

Neue Antwort erstellen

 

da_poller

Betreff: text in eine textarea laden/aus textarea speichern

BeitragSa, Apr 11, 2009 10:58
Antworten mit Zitat
Benutzer-Profile anzeigen
ich habe hier 2 funktionen gebastelt zum laden und speichern von längeren texten in/aus eine(r) textarea

jedoch funktioniert das ganze nicht..
nachdem meine b+ kenntnisse auf nem sehr niedrigen stand sind vermute ich hab ich einen denkfehler in der verwendung der b+ befehle dort..

Code:
Function loadfile(path$)
   
   datei=ReadFile(path$)
   
   zz=ReadInt(datei)
   
   For x=0 To zz-1
      
      AddTextAreaText codetext,ReadLine(datei)
      
   Next
   
   CloseFile datei
   
   
End Function

Function savefile(path$)
   
   datei=WriteFile(path$)
   
   zz=TextAreaLen(codetext,2)
   
   WriteInt datei,zz
   
   For x=0 To zz-1
      WriteLine datei,TextAreaText(codetext,x,1,2)
      
   Next
   
   CloseFile datei
   
End Function


EDIT: das speichern und laden funktioniert nun jedoch ist in der gespeicherten datei zwischen den zeilen jeweils eine leere zeile und beim laden sind keine zeilenumbrüche vorhanden(womit mein problem sich verschiebt aber wohl ncoh immer die selbe ursache hat(code hat sich nciht geändert hab beim laden nur eine falsche datei angegeben)

Pummelie

Betreff: (löschen bitte)

BeitragSa, Apr 11, 2009 11:11
Antworten mit Zitat
Benutzer-Profile anzeigen
edit:hubs was übersehen
It's done when it's done.
 

da_poller

BeitragSa, Apr 11, 2009 11:13
Antworten mit Zitat
Benutzer-Profile anzeigen
also hab nun das ganze in so geändert:

Code:
unction loadfile(path$)
   
   datei=ReadFile(path$)
   
   While Not Eof(datei)
      
      AddTextAreaText codetext,ReadLine(datei)+Chr$(13)+Chr$(10)
      
   Wend
   
   CloseFile datei
   
   
End Function

Function savefile(path$)
   
   datei=WriteFile(path$)
   
   zz=TextAreaLen(codetext,2)
   DebugLog zz
   For x=0 To zz-1
      WriteLine datei,TextAreaText(codetext,x,1,2)
      
   Next
   
   CloseFile datei
   
End Function

jedoch will ich auch extern geschriebene datein(editor usw) verwenden können..

sofern ich eine datei nun hier schreibe, speichere und wieder lade sind auch zu viele leerzeilen drin(logisch wegs +chr(13.... nur wie mach ich das beides geht?(meine zeilenumbrüche von readline und von externen datein her?)

Starwar

BeitragSa, Apr 11, 2009 12:12
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi,
Du könntest Zeichen für Zeichen laden. Nachteil ist, dass es sehr langsam ist.
MFG
 

Christian+

BeitragSa, Apr 11, 2009 16:01
Antworten mit Zitat
Benutzer-Profile anzeigen
So ich habe die Function mal so abgeändert das es mit jedem TextArea geht in dem man es einfach als Parameter übergibt, da ich es so leichter testen konnte und dann so angepasst, dass Laden und Speichern das gewünschte Ergebnis hat (Ich hoffe ich habe dein Problem auch richtig verstanden).

Code:
Function loadfile(path$,codetext)
   
   datei=ReadFile(path$)

   If datei<>0 Then

   While Not Eof(datei)
     
      AddTextAreaText codetext,ReadLine(datei)+Chr$(13)+Chr$(10)
     
   Wend
   
   CloseFile datei

   EndIf
   
End Function

Function savefile(path$,codetext)

   datei=WriteFile(path$)
   
   zz=TextAreaLen(codetext,2)
   DebugLog zz
   For x=0 To zz-1

      b$=TextAreaText(codetext,x,1,2)
      WriteLine datei,Left$(b$,Len(b$)-2)

   Next
   
   CloseFile datei
   
End Function


Grund für dein Problem war, dass du bei jedem Laden die Datei um ein +Chr$(13)+Chr$(10) erweitert hast da ReadLine das nicht im String mit zurückgibt und du es für das TextArea aber brauchst und das dann wieder mit gespeichert hast obwohl WriteLine die Zeile sowieso abschließt.

mfg Christian+

Neue Antwort erstellen


Übersicht BlitzBasic BlitzPlus

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group