TextArea will nicht abspeichern (HIIIIILLFFFFEEEEE) ...

Übersicht BlitzBasic BlitzPlus

Neue Antwort erstellen

 

Kekskiller

Betreff: TextArea will nicht abspeichern (HIIIIILLFFFFEEEEE) ...

BeitragFr, Jul 02, 2004 18:44
Antworten mit Zitat
Benutzer-Profile anzeigen
Hab gerade ein höllisch bescheuertes Problem: Meine Textboxabspeicher-
routine spinnt. Sie ist kurz und knackig und eigentlich auch ganz schön
schnell. Nur bekomme ich immer nur für jede Zeile, die abspeichert
wird anstatt einer Zeile ein einzelnes Byte reingeschrieben...

Ich weißda nicht mehr weiter Sad . Kann auch sein, dass Keksi wieder
irgendnen billigen Fehler gemacht hat ... :

Code: [AUSKLAPPEN]
Function SaveRubyScript(script$)
If script$<>"" Then
linenumber=TextAreaLen(edit,2)
stream=WriteFile(script$)
For z=1 To linenumber
 WriteLine stream,TextAreaText(edit,TextAreaChar(edit,z),TextAreaLineLen(edit,z),1)
Next
CloseFile stream
EndIf
End Function


Ps: Das wird nen MiniRuby-Editor 8) ...
 

morszeck

BeitragSa, Jul 03, 2004 9:39
Antworten mit Zitat
Benutzer-Profile anzeigen
Hast du es schon mal versucht mit "DebugLog" um dir die Daten (z...usw) mal anzeigen zu lassen? Ein super Befehl um den Fehlern auf die Schliche zu kommen Smile
WinXpProf&SP2, B3D V1.88, B+ V1.40, BMax101Beta, AMD TB1.4GHz, DDR266/768MB, GeForce3@64MB

Suco-X

Betreff: ......

BeitragSa, Jul 03, 2004 13:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Wieso Kompliziert wens auch einfach geht..
WriteLine(datei,TextAreaText(textarea))

Der schreibt das denne schon Automatisch untereinander in die Datei, so wie es in der Textarea steht.
bye
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB
 

Kekskiller

BeitragSa, Jul 03, 2004 18:09
Antworten mit Zitat
Benutzer-Profile anzeigen
Habe das Problem jetzt lösen können, hatte was mit den zwei
Zeilenumbruchszeichen und der Tatsache, dass die Zeilennummern
ab 0 anfangen zu tun. Hier die Lösung (sehr schön schnell):

Code: [AUSKLAPPEN]
Function SaveRubyScript(script$)
Local linenumber="",linetext$=""
If script$<>"" Then
linenumber=TextAreaLen(edit,2)
stream=WriteFile(script$)
For z=0 To linenumber-1
 Select z
  Case linenumber-1:linelength=TextAreaLineLen(edit,z)
  Default:linelength=TextAreaLineLen(edit,z)-1
 End Select
 linetext$=TextAreaText(edit,TextAreaChar(edit,z),linelength,1)
 WriteLine stream,linetext$
Next
CloseFile stream
EndIf
End Function


@Suco-X: Das funktioniert bei mir nicht, wie es soll.
Alle Zeichen in einer Reihe dokumentieren diese Behauptung kritisierend.

Suco-X

Betreff: .....

BeitragSo, Jul 04, 2004 16:35
Antworten mit Zitat
Benutzer-Profile anzeigen
Bei mir funktioniert beides gleich. Deine funktion, und die einfach WriteLine function. Vllt mal neustes Update laden.
Hier der Code mit deiner Funktion und meiner function die ich auskommentiert habe. Funktionieren bei mir beide gleich.

Code: [AUSKLAPPEN]

window=CreateWindow("Window",050,050,300,300,0)
Global edit=CreateTextArea(10,10,270,200,window)

button = CreateButton("Speichern",100,0,60,15,window)



Repeat


Select WaitEvent()
   Case $803
   quit = 1
   
   Case $401
   If EventSource() = button
;      datei = WriteFile("test.txt")
;      WriteLine datei, TextAreaText(edit)
;      CloseFile(datei)
   SaveRUbyScript("test2.txt")
   EndIf
   
   
End Select





Until quit = 1 Or KeyHit(1)



Function SaveRubyScript(script$)
Local linenumber="",linetext$=""
If script$<>"" Then
linenumber=TextAreaLen(edit,2)
stream=WriteFile(script$)
For z=0 To linenumber-1
Select z
Case linenumber-1:linelength=TextAreaLineLen(edit,z)
Default:linelength=TextAreaLineLen(edit,z)-1
End Select
linetext$=TextAreaText(edit,TextAreaChar(edit,z),linelength,1)
WriteLine stream,linetext$
Next
CloseFile stream
EndIf
End Function


bye
Intel Core 2 Quad Q8300, 4× 2500 MHz, 4096 MB DDR2-Ram, GeForce 9600GT 512 MB
 

Kekskiller

BeitragSo, Jul 04, 2004 18:23
Antworten mit Zitat
Benutzer-Profile anzeigen
Habe eigentlich das neuete Update schon.
Hängt vielleicht mit was tiefgründigem zusammen.
Zudem bin ich am Überlegen, bei großen Quelltexten
eine Ladefunktion einzubauen, dabei kann mir eine
Zeile leider nicht gut helfen. Aber danke nochmal.

Neue Antwort erstellen


Übersicht BlitzBasic BlitzPlus

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group