AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

array speichern

Ein Thema von draxion · begonnen am 13. Mai 2006 · letzter Beitrag vom 14. Mai 2006
Antwort Antwort
draxion

Registriert seit: 13. Mai 2006
5 Beiträge
 
#1

array speichern

  Alt 13. Mai 2006, 12:03
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
  Mit Zitat antworten Zitat
Benutzerbild von ErazerZ
ErazerZ

Registriert seit: 27. Mai 2005
Ort: Baden
315 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: array speichern

  Alt 13. Mai 2006, 12:39
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 ..');
  Mit Zitat antworten Zitat
draxion

Registriert seit: 13. Mai 2006
5 Beiträge
 
#3

Re: array speichern

  Alt 14. Mai 2006, 11:06
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
  Mit Zitat antworten Zitat
Benutzerbild von ErazerZ
ErazerZ

Registriert seit: 27. Mai 2005
Ort: Baden
315 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: array speichern

  Alt 14. Mai 2006, 11:17
machst zb ne Memo und ladest dort den Text und speicherst
Delphi-Quellcode:
  Memo1.Text := sText;
  Memo1.Lines.SaveToFile('c:\meinetxt.txt');
oder per filestream
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;
  Mit Zitat antworten Zitat
Hawkeye219

Registriert seit: 18. Feb 2006
Ort: Stolberg
2.227 Beiträge
 
Delphi 2010 Professional
 
#5

Re: array speichern

  Alt 14. Mai 2006, 11:39
@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

Eine Stringliste wäre hier wohl die besser Wahl:

Delphi-Quellcode:
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;
Gruß Hawkeye
  Mit Zitat antworten Zitat
Benutzerbild von ErazerZ
ErazerZ

Registriert seit: 27. Mai 2005
Ort: Baden
315 Beiträge
 
Delphi 2007 Enterprise
 
#6

Re: array speichern

  Alt 14. Mai 2006, 11:47
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;
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:41 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz