![]() |
array speichern
Ich bin ein totaler Anfänger, da ich erst seit 2 Wochen Delphi programmiere und mich noch überhaupt nicht auskenne.
Bisher habe ich nur Flash programmiert, aber das ist mir mittlerweile zu langsahm. In Delphi habe ich ein kleines Programm geschrieben, das Labyrinthe erstellt. Aus Spaß möchte ich, dass man die Labyrinthe in einer txt-datei speichern kann, und später wieder laden. Dazu hab ich einen Array of integer, und eine variable "laenge" (auch integer). Wenn man auf den btn "speichern" klickt soll folgendes passieren: Bsp: meinArray sieht so aus: 1,3,2,0,0,0,2,3,1,3,2,1,1,1,3,1,0,0,2,0,1,0,3,2,3, 3,1,0 und laenge ist: 7 ... dann soll die txt-Datei so aussehen: 1320002 3132111 3100201 0323310 (die Zahlen aus dem Array, und immer 7 in einer Reihe) MFG mathis |
Re: array speichern
Delphi-Quellcode:
var
i, iTemp: Integer; sText: String; const MeinArray: Array[0..34] of Byte = (1,3,2,0,0,0,2,3,1,3,2,1,1,1,3,1,0,0,2,0,1,0,3,2,3,3,1,0,1,2,3,4,5,6,7); InsertPos = 7; begin sText := ''; for i := 0 to sizeof(MeinArray) -1 do begin sText := sText + IntToStr(MeinArray[i]); end; if Length(sText) mod InsertPos = 0 then begin i := InsertPos; iTemp := 1; repeat insert(#13#10, sText, i +iTemp); inc(i, InsertPos); inc(iTemp, 2); until i >= Length(sText); sText := Trim(sText); // text ist geteilt .. end else ShowMessage('es ist nicht möglich gleiche reihen zu bekommen ..'); |
Re: array speichern
Vielen Dank,
das funktioniert genau so wie ich es wollte. ... und wie kann ich den String sText jetzt in eine txt-Datei speichern ?? MFG mathis |
Re: array speichern
machst zb ne Memo und ladest dort den Text und speicherst
Delphi-Quellcode:
oder per filestream
Memo1.Text := sText;
Memo1.Lines.SaveToFile('c:\meinetxt.txt');
Delphi-Quellcode:
uses Classes;
var f: TFileStream; const s = 'Mein Text ..'; begin f := TFileStream.Create('c:\meinedatei.txt', fmCreate); f.WriteBuffer(s, Length(s)); f.Free; |
Re: array speichern
@ErazerZ
Deine Stream-Lösung funktioniert so aber nur mit Stringkonstanten! Wäre s eine (dynamische) Stringvariable, würdest du nicht den Text, sondern den Speicherbereich ab der Stringvariablen in den Stream schreiben :wink: Eine Stringliste wäre hier wohl die besser Wahl:
Delphi-Quellcode:
Gruß Hawkeye
var
SL : TStringList; const s = 'Mein Text ..'; begin SL := TStringList.Create; try SL.Text := s; SL.SaveToFile ('c:\meinedatei.txt'); finally SL.Free; end; end; |
Re: array speichern
Delphi-Quellcode:
var
f: TFileStream; s: string; begin s := 'heyyy'; f := TFileStream.Create('c:\meinedatei.txt', fmCreate); f.WriteBuffer(Pointer(s)^, Length(s)); f.Free; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:06 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz