AGB  ·  Datenschutz  ·  Impressum  







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

speichern von var

Ein Thema von Frodo_Beutlin · begonnen am 24. Mär 2006 · letzter Beitrag vom 28. Mär 2006
Antwort Antwort
Seite 2 von 4     12 34      
Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#11

Re: speichern von var

  Alt 24. Mär 2006, 16:09
Ich hab im Quellcode "speichern" angesprochen, damit meinte ich aber eigentlich die Benutzung von Variablen.


Flare
Willy Scheibel
  Mit Zitat antworten Zitat
Benutzerbild von Hador
Hador

Registriert seit: 11. Dez 2004
Ort: Recke
682 Beiträge
 
Turbo Delphi für Win32
 
#12

Re: speichern von var

  Alt 24. Mär 2006, 16:12
Du könntest dass ganze auch folgendermaßen machen.
Das ist - finde ich - bei wenigen Daten noch einfacher:

Delphi-Quellcode:
program Project2;

{$APPTYPE CONSOLE}

var
  F: TextFile;
  var1, var2: string;
  var3, var4: Integer;

begin
  //Variablen initialisieren

  var1 := 'bla';
  var2 := 'blubb';
  var3 := 42;
  var4 := 0;

  //Datei öffnen und die Daten Zeile für Zeile abspeichern

  AssignFile(F, 'DATEINAME');
  Rewrite(F);
  Writeln(F, var1);
  Writeln(F, var2);
  Writeln(F, var3);
  Writeln(F, var4);
  CloseFile(F);

  //Variablen "leeren"

  var1 := '';
  var2 := '';
  var3 := -1;
  var4 := -1;

  //Datei öffnen und die Daten Zeile für Zeile auslesen

  AssignFile(F, 'DATEINAME');
  Reset(F);
  Readln(F, var1);
  Readln(F, var2);
  Readln(F, var3);
  Readln(F, var4);
  CloseFile(F);

  //Variablen in Konsole ausgeben

  Writeln(var1);
  Writeln(var2);
  Writeln(var3);
  Writeln(var4);

  Readln;
end.
Das ist mal 'n komplettes Beispielprogramm.
Lars Kiesow
http://www.larskiesow.de

Computer gehorchen deinen Befehlen, nicht deinen Absichten.
  Mit Zitat antworten Zitat
Flare

Registriert seit: 26. Jan 2006
Ort: Leipzig
529 Beiträge
 
Delphi 7 Professional
 
#13

Re: speichern von var

  Alt 24. Mär 2006, 16:17
@Hador

Warum stellst du hier Pascal-Code rein wenn es um Win32 Delphi geht?


Flare
Willy Scheibel
  Mit Zitat antworten Zitat
Benutzerbild von Hador
Hador

Registriert seit: 11. Dez 2004
Ort: Recke
682 Beiträge
 
Turbo Delphi für Win32
 
#14

Re: speichern von var

  Alt 24. Mär 2006, 16:21

Das IST Object Pascal (Delphi Win32) Code

Zitat von Flare:
Ich habe jetzt aber nicht Lust dir zu erklären wie man Vaiablen benutzt...
Und ich keine Lust dir zu erklären, warum das so ist
Lars Kiesow
http://www.larskiesow.de

Computer gehorchen deinen Befehlen, nicht deinen Absichten.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#15

Re: speichern von var

  Alt 24. Mär 2006, 18:29
Und ich bitte euch beim Thema zu bleiben und alles andere via PM zu klären.
Danke.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Frodo_Beutlin

Registriert seit: 24. Mär 2006
16 Beiträge
 
#16

Re: speichern von var

  Alt 24. Mär 2006, 21:49
danke für die hilfe und die links zum toturial.. ich habe sie mir durchgelesen und es ausprobiert...
das speichern hat funktioniert aber wenn ich die variablen dann wieder aufrufen will, funktioniert es nicht...sie bekommmen dann alle 0 zugewiesen ?!?!?


ich hoffe ihr könnt ihr mir erneut helfen

Delphi-Quellcode:
unit umfrage;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, IniFiles;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    choosedrg: TRadioGroup;
    votebtm: TButton;
    procedure votebtmClick(Sender: TObject);
    procedure FormShow(sende:TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  a,b,c,d,e,f,ap,bp,cp,dp,ep,fp,x:double;
  ini: TIniFile;

implementation

{$R *.dfm}


procedure TForm1.FormShow(sende:TObject);
begin
  ini:=TIniFile.create('ergebnis.ini');
  try
    a:=ini.ReadFloat('frage1','wert1',0);
    b:=ini.ReadFloat('frage1','wert2',0);
    c:=ini.ReadFloat('frage1','wert3',0);
    d:=ini.ReadFloat('frage1','wert4',0);
    e:=ini.ReadFloat('frage1','wert5',0);
    f:=ini.ReadFloat('frage1','wert6',0);
  finally
    ini.Free;
  end;
end;

procedure TForm1.votebtmClick(Sender: TObject);
begin
  case choosedrg.ItemIndex of
      0:a:=a+1;
      1:b:=b+1;
      2:c:=c+1;
      3:d:=d+1;
      4:e:=e+1;
      5:f:=f+1;
  end;
  x:=a+b+c+d+e+f;
  ap:=a*100/x;
  bp:=b*100/x;
  cp:=c*100/x;
  dp:=d*100/x;
  ep:=e*100/x;
  fp:=f*100/x;
  ini:=TIniFile.Create((ParamStr(0))+'ergebnis.ini');
  ini.WriteFloat('frage1', 'wert1', a);
  ini.WriteFloat('frage1', 'wert2', b);
  ini.WriteFloat('frage1', 'wert3', c);
  ini.WriteFloat('frage1', 'wert4', d);
  ini.WriteFloat('frage1', 'wert5', e);
  ini.WriteFloat('frage1', 'wert6', f);
  ini.free;
end;

end.

lg tom
  Mit Zitat antworten Zitat
Brüggendiek

Registriert seit: 13. Dez 2002
Ort: Dortmund
275 Beiträge
 
Delphi 5 Standard
 
#17

Re: speichern von var

  Alt 24. Mär 2006, 22:39
Hallo Tom!

Schau Dir doch mal Deinen Code genau an:
Delphi-Quellcode:
procedure TForm1.FormShow(sende:TObject);
begin
  ini:=TIniFile.create('ergebnis.ini');
end;

procedure TForm1.votebtmClick(Sender: TObject);
  ini:=TIniFile.Create((ParamStr(0))+'ergebnis.ini');
end;
Siehst Du den Unterschied? Bei ersten Mal wird die Datei im aktuellen Verzeichnis gesucht (das nicht unbedingt das Programmverzeichnis sein muß, ein reines Glücksspiel!), im zweiten Fall im Programmverzeichnis. Obendrein hast Du vergessen, den Programmnamen rauszunehmen, der Ini-Name ist also "programmverzeichnis\programm.exeergebnis.ini" - kein Wunder, daß die Werte leer sind.

Schreibe in beiden Fällen:
ini:=TIniFile.Create(ExtractFilePath (ParamStr(0))+'ergebnis.ini'); Außerdem ist es unnötig, die Variable "ini" global zu deklarieren. Deklariere sie jeweils in den Methoden, in denen sie benutzt wird.

Desweiteren: beim ersten Teil hast Du einen Ressourcenschutzblock drin, beim zweiten mal nicht!
Da frage ich mich natürlich, wo Du Deinen Code zusammengesucht hast und ob Du überhaupt verstehst, was Du da geschrieben hast - man sollte nicht kopieren, sondern kapieren!

Dietmar Brüggendiek
Edit: hupps - da fehlte ja ExtractFilePath!
Dietmar Brüggendiek
Die 6 Probleme des Programmierers: 1. dauert das länger, als man 2. glaubt, 3. geht das nicht so, wie man sich das 4. schlau überlegt hat, und 5. sitzt der Fehler da, wo man ihn 6. zuletzt sucht
  Mit Zitat antworten Zitat
Frodo_Beutlin

Registriert seit: 24. Mär 2006
16 Beiträge
 
#18

Re: speichern von var

  Alt 26. Mär 2006, 17:55
jetzt habe ich das geändert jedoch funktioniert es immer noch nicht

Delphi-Quellcode:
unit umfrage;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, IniFiles;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    choosedrg: TRadioGroup;
    votebtm: TButton;
    procedure votebtmClick(Sender: TObject);
    procedure FormShow(sende:TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  a,b,c,d,e,f,ap,bp,cp,dp,ep,fp,x:double;
  ini: TIniFile;

implementation

{$R *.dfm}


procedure TForm1.FormShow(sende:TObject);
begin
  ini:=TIniFile.create(ExtractFilePath (ParamStr(0))+'D:\Office\Delphi\Umfragen\umfragepr.exeergebnis.ini');
  try
    a:=ini.ReadFloat('frage1','wert1',0);
    b:=ini.ReadFloat('frage1','wert2',0);
    c:=ini.ReadFloat('frage1','wert3',0);
    d:=ini.ReadFloat('frage1','wert4',0);
    e:=ini.ReadFloat('frage1','wert5',0);
    f:=ini.ReadFloat('frage1','wert6',0);
  finally
    ini.Free;
  end;
end;

procedure TForm1.votebtmClick(Sender: TObject);
begin
  case choosedrg.ItemIndex of
      0:a:=a+1;
      1:b:=b+1;
      2:c:=c+1;
      3:d:=d+1;
      4:e:=e+1;
      5:f:=f+1;
  end;
  x:=a+b+c+d+e+f;
  ap:=a*100/x;
  bp:=b*100/x;
  cp:=c*100/x;
  dp:=d*100/x;
  ep:=e*100/x;
  fp:=f*100/x;
  ini:=TIniFile.create(ExtractFilePath (ParamStr(0))+'ergebnis.ini');
  ini.WriteFloat('frage1', 'wert1', a);
  ini.WriteFloat('frage1', 'wert2', b);
  ini.WriteFloat('frage1', 'wert3', c);
  ini.WriteFloat('frage1', 'wert4', d);
  ini.WriteFloat('frage1', 'wert5', e);
  ini.WriteFloat('frage1', 'wert6', f);
  ini.free;
end;

end.
tg tom
  Mit Zitat antworten Zitat
Frodo_Beutlin

Registriert seit: 24. Mär 2006
16 Beiträge
 
#19

Re: speichern von var

  Alt 26. Mär 2006, 19:33
kann mir bitte jemand helfen?!?!?!?!?!
  Mit Zitat antworten Zitat
Waldteufel
(Gast)

n/a Beiträge
 
#20

Re: speichern von var

  Alt 26. Mär 2006, 19:49
Sag mal, verstehst du überhaupt, was du da schreibst?

ini := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'D:\Office\Delphi\Umfragen\umfragepr.exeergebnis.ini'); Wenn die aktuelle Anwendung D:\Office\Delphi\Umfragen\umfragepr.exe heißt, dann kommt da hinten D:\Office\Delphi\Umfragen\D:\Office\Delphi\Umfrage n\umfragepr.exeergebnis.ini raus.

Und bevor ich jetz noch nen Herzinfarkt bekomme:
ini := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'ergebnis.ini'); So müssen beide Zeilen lauten (sowohl 35 als auch 65).

Außerdem darf man erst nach 24 Stunden pushen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 4     12 34      


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 18:26 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