AGB  ·  Datenschutz  ·  Impressum  







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

Array speichern

Ein Thema von Creepin · begonnen am 7. Mär 2007 · letzter Beitrag vom 8. Mär 2007
Antwort Antwort
Creepin

Registriert seit: 7. Mär 2007
3 Beiträge
 
#1

Array speichern

  Alt 7. Mär 2007, 18:28
Hallo, ich hoffe ich habe die richtige Rubrik getroffen. ich möchte ein Array in einer Datei speichern, das klappt auch ganz gut mit folgendem code:
Delphi-Quellcode:
procedure TForm2.Button2Click(Sender: TObject);
 var i: integer;
key: array[1..26] of integer;
  f: TFileStream;
begin
 f := TFileStream.Create('C:\rotor.dat',fmCreate);
  try
   for i := 0 to 26 do
     f.write(key[i],sizeOf(integer));
 finally
   f.free;

  end;
end;
bloß wie kann ich den dateinamen und speicherort bestimmen lassen vom benutzer?
Danke im voraus für eure antworten.

[edit=SirThornberry]Delphi-Tags gesetzt - Mfg, SirThornberry[/edit]
  Mit Zitat antworten Zitat
stifflersmom

Registriert seit: 8. Dez 2005
Ort: 24994 Holt
380 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#2

Re: Array speichern

  Alt 7. Mär 2007, 18:31
Stichwort
SaveFileDialog

Moin
  Mit Zitat antworten Zitat
Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.096 Beiträge
 
FreePascal / Lazarus
 
#3

Re: Array speichern

  Alt 7. Mär 2007, 18:56
Hi,

1. Bitte verwende den delphi-Tag für Delphi-Source. Beispiel: aus

Code:
[delphi]while x do
  y;[/delphi]
wird

Delphi-Quellcode:
while x do
  y;
2. Der Delphi-Referenz durchsuchenSaveDialog (ohne File) oder Delphi-Referenz durchsuchenSavePictureDialog für Bilder, beide auf der Palettenseite Dialogs.

3. Da du ein statisches array hast, kannst du auch über

f.write(key, sizeof(key)) das komplette Array auf einmal schreiben. Bei eindimensionalen (packed) arrays, auch dynamischen, sowie Short/Ansi/WideStrings, wenn mann statt 0 eine 1 einsetzt, geht folgendes:

f.write(key[0], sizeof(key[0])) Mfg
FAlter

//Edit: Willkommen in der DP!
Felix Alter
  Mit Zitat antworten Zitat
Creepin

Registriert seit: 7. Mär 2007
3 Beiträge
 
#4

Re: Array speichern

  Alt 7. Mär 2007, 21:22
Danke für die Antworten, aber wo füge ich den savedialog ein in den code? Oder wie benutze ich den sonst?
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: Array speichern

  Alt 7. Mär 2007, 21:26
Hi,

1. SaveDialog aufs Formular packen (Wie gesagt unter "Dialogs" gucken)
2.

Delphi-Quellcode:
procedure TForm2.Button2Click(Sender: TObject);
var i: integer;
    key: array[1..26] of integer;
    f: TFileStream;
begin
  if SaveDialog1.Execute then // öffnet den Dialog
  begin // wenn auf "OK" gedrückt wurde:
    f := TFileStream.Create(SaveDialog1.Filename,fmCreate);
    try
      for i := 0 to 26 do
        f.write(key[i],sizeOf(integer));
    finally
      f.free;
    end;
  end;
end;
Gruß
Neutral General
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Array speichern

  Alt 7. Mär 2007, 22:11
Zitat von FAlter:
das komplette Array auf einmal schreiben. Bei eindimensionalen (packed) arrays, auch dynamischen, sowie Short/Ansi/WideStrings, wenn mann statt 0 eine 1 einsetzt, geht folgendes:

f.write(key[0], sizeof(key[0]))
fast richtig, so wird nur das erste element geschrieben. Wenn dann so:
f.write(key[0], sizeof(key[0]) * Length(key))
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Creepin

Registriert seit: 7. Mär 2007
3 Beiträge
 
#7

Re: Array speichern

  Alt 7. Mär 2007, 22:50
Danke funktioniert alles.
  Mit Zitat antworten Zitat
Benutzerbild von FAlter
FAlter

Registriert seit: 21. Jul 2004
Ort: Ostfildern
1.096 Beiträge
 
FreePascal / Lazarus
 
#8

Re: Array speichern

  Alt 8. Mär 2007, 14:26
Hi,

Zitat von SirThornberry:
fast richtig, so wird nur das erste element geschrieben. Wenn dann so:
f.write(key[0], sizeof(key[0]) * Length(key))
Danke, daran hab ich gedacht, aber wohl leider vergessen zu schreiben.

Mfg
FAlter
Felix Alter
  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 00:21 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