Seite 1 von 1

neunte Zeile bitte im Text ändern ?

Verfasst: 30.10.2020 16:59
von funkheld
Hallo, guten Tag.

wie kann man bitte die 10. Zeile ändern bzw die 10. Zeile neu setzen?

Danke.
gruss

--------------------
[compilation]
arch=strict
modules=a8_hardware,a8_os,a8_kernel,default_panic,stdlib
encoding=atascii
screen_encoding=atasciiscr

[allocation]
; OS turned on
zp_bytes=$80-$FF
segment_default_start=$2000
; BASIC turned off
segment_default_end=$BFFF

[define]
ATARI_8=1
WIDESCREEN=1
KEYBOARD=1
JOYSTICKS=2
HAS_BITMAP_MODE=1

[output]
;TODO
style=single
format=$FF,$FF,$E0,$02,$E1,$02,startaddr,startaddr,endaddr,allocated
extension=xex

Re: neunte Zeile bitte im Text ändern ?

Verfasst: 30.10.2020 17:16
von NicTheQuick
Du öffnest die Datei, öffnest dann eine zweite leere Datei zum Schreiben und liest aus der ersten Zeilenweise mit ReadString(). Jede Zeile, die du gelesen hast, schreibst du wieder in die zweite Datei mit WriteString(). Pro Zeile zählst du mit einer Variable mit, damit du weißt in welcher Zeile du dich gerade befindest. Ist diese Variable = 10, dann bist du in der zehnten Zeile. An diesem Punkt schreibst du etwas anderes in die Zieldatei und nicht das, was du gerade gelesen hast.

Re: neunte Zeile bitte im Text ändern ?

Verfasst: 30.10.2020 17:56
von ccode_new
Hallo!
neunte Zeile bitte im Text ändern ?
<>
wie kann man bitte die 10. Zeile ändern bzw die 10. Zeile neu setzen?
Was möchtest du genau neu setzen ?
Den Schlüssel, den Wert, oder beides ?

Beispiel:

Code: Alles auswählen

Global wert.s = "0" 

;Öffnet eine Preference-Datei
OpenPreferences(GetCurrentDirectory() +"test.pref")

;Gruppen untersuchen
ExaminePreferenceGroups()

;Für jede Gruppe
While NextPreferenceGroup()
  ;Schlüssel der aktuellen Gruppe untersuchen
  ExaminePreferenceKeys()
  ;alten Wert auslesen
  wert = ReadPreferenceString("segment_default_start", "0")
  If wert <> "0"
    ;Neuen Wert schreiben
    WritePreferenceString("segment_default_start", "$2001")
    If FlushPreferenceBuffers() = 0
      MessageRequester("Fehler", "Die Datei konnte nicht geändert werden.")
    EndIf
    Break
  EndIf
Wend

; Anzeigen des alten Werts
MessageRequester("test.pref",wert)

; Schließt die Preference-Datei
ClosePreferences() 

Re: neunte Zeile bitte im Text ändern ?

Verfasst: 31.10.2020 13:30
von Nino
funkheld (2020) hat geschrieben:neunte Zeile bitte im Text ändern ?
Das geht ganz ähnlich wie (2019) 3. Zeile in einer Textdatei ändern.

Re: neunte Zeile bitte im Text ändern ?

Verfasst: 02.11.2020 11:35
von juergenkulow
Hallo funkheld,

Code: Alles auswählen

;Ändert den Wert von [allocation] segment_default_start
Datei.s=OpenFileRequester("funkheld.txt","funkheld.txt", "Alle (*.*)|*.*",0)
Wert.s=InputRequester("funkheld","[allocation]segment_default_start","$3000")
OpenPreferences(Datei) 
PreferenceGroup("allocation")
WritePreferenceString("segment_default_start",Wert)
ClosePreferences()
Die Werte für Datei, Wert, PerferenceGroup, WritePreferenceString, könnte man sich auch mit Parameter$ = ProgramParameter([Index]) besorgen. Wenn Du das Programm so gebrauchen kannst, kannst Du es ja hier posten.