TextArea will nicht abspeichern (HIIIIILLFFFFEEEEE) ...
Übersicht BlitzBasic BlitzPlus
KekskillerBetreff: TextArea will nicht abspeichern (HIIIIILLFFFFEEEEE) ... |
Fr, Jul 02, 2004 18:44 Antworten mit Zitat |
|
---|---|---|
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 . 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 |
Sa, Jul 03, 2004 9:39 Antworten mit Zitat |
|
---|---|---|
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 | ||
WinXpProf&SP2, B3D V1.88, B+ V1.40, BMax101Beta, AMD TB1.4GHz, DDR266/768MB, GeForce3@64MB |
Suco-XBetreff: ...... |
Sa, Jul 03, 2004 13:18 Antworten mit Zitat |
|
---|---|---|
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 |
Sa, Jul 03, 2004 18:09 Antworten mit Zitat |
|
---|---|---|
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-XBetreff: ..... |
So, Jul 04, 2004 16:35 Antworten mit Zitat |
|
---|---|---|
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 |
So, Jul 04, 2004 18:23 Antworten mit Zitat |
|
---|---|---|
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. |
||
Übersicht BlitzBasic BlitzPlus
Powered by phpBB © 2001 - 2006, phpBB Group