AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi Problem beim ausgeben von FDaten.Strings[i] und mehr...
Thema durchsuchen
Ansicht
Themen-Optionen

Problem beim ausgeben von FDaten.Strings[i] und mehr...

Ein Thema von Fussel9 · begonnen am 4. Jun 2009 · letzter Beitrag vom 4. Jun 2009
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Fussel9
Fussel9

Registriert seit: 25. Mai 2009
322 Beiträge
 
Turbo Delphi für Win32
 
#1

Problem beim ausgeben von FDaten.Strings[i] und mehr...

  Alt 4. Jun 2009, 17:03
Hi, ich bins mal wieder, habe auch mal wieder ein Problem in Delphi, mit ini-Dateien:

Delphi-Quellcode:
  vdatum:=Now-1;
  for i := 0 to FDaten.Count -1 do begin
   if StrToDate(FDaten.Strings[i]) = vdatum then
    StGr.Cells[1,2]:=FDaten.Strings[i];
  end;
end;
das ist ein kleines Stück von meiner OnCreate , diese wird auch ordnungsgemäß ausgeführt bis zu deisem Stück Quelltext, weiß irgendwer wieso?

FDaten (eine StringList) ist ordnungsgemäß deklariert und es erscheint KEINE FEHLERMELDUNG, es wird quasi einfach übersehen von Delphi...

  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Problem beim ausgeben von FDaten.Strings[i] und mehr...

  Alt 4. Jun 2009, 17:06
Delphi-Quellcode:
vdatum:=Now-1; // falsch - Now() liefert Datum plus Uhrzeit
vdatum:=Date-1; // richtig, nur der Datumsanteil wird benötigt
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Fussel9
Fussel9

Registriert seit: 25. Mai 2009
322 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Problem beim ausgeben von FDaten.Strings[i] und mehr...

  Alt 4. Jun 2009, 17:20
Danke, funktioniert aber leider immer noch nicht,

habe den Code zum Testen mal wie folgt umgeschrieben:
Delphi-Quellcode:
  vdatum:=Date-1;
  for i := 0 to FDaten.Count -1 do begin
  ShowMessage(FDaten.Strings[i]);
   if StrToDate(FDaten.Strings[i]) = vdatum then
    StGr.Cells[1,2]:=FDaten.Strings[i];
  end;
end;
und er zeigt mir keine Message an
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Problem beim ausgeben von FDaten.Strings[i] und mehr...

  Alt 4. Jun 2009, 17:22
Zitat:
if Trunc(StrToDate(FDaten.Strings[i])) = Trunc(vdatum) then
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#5

Re: Problem beim ausgeben von FDaten.Strings[i] und mehr...

  Alt 4. Jun 2009, 17:25
sicher das Fdaten.Count >0 ist?

Gruß
K-H
  Mit Zitat antworten Zitat
Benutzerbild von Fussel9
Fussel9

Registriert seit: 25. Mai 2009
322 Beiträge
 
Turbo Delphi für Win32
 
#6

Re: Problem beim ausgeben von FDaten.Strings[i] und mehr...

  Alt 4. Jun 2009, 17:28
ja, denn hier mal der inhalt meiner ini:

[123]
tag=1
monat=2
jahr=3
wagen=321
stundengesamt=123
stunden=321
kilometer=123
anmerkungen=321
datum=01.02.03
[223]
datum=02.02.09
wagen=332
stundengesamt=223
stunden=332
kilometer=223
anmerkungen=332
[23]
datum=27.05.2009
wagen=T
stundengesamt=e
stunden=s
kilometer=t
anmerkungen=!
[27.05.2009]
datum=27.05.2009
wagen=273
stundengesamt=8
stunden=6
kilometer=25
anmerkungen=...
[25]
datum=27.05.2009
wagen=273
stundengesamt=8
stunden=6
kilometer=25
anmerkungen=...
[Test]
datum=03.06.2009
wagen=Test
stundengesamt=Test
stunden=Test
kilometer=Test
anmerkungen=Test
[03.06.2009]
datum=03.06.2009
wagen=Test
stundengesamt=Test
stunden=Test
kilometer=Test
anmerkungen=Test
  Mit Zitat antworten Zitat
Benutzerbild von Fussel9
Fussel9

Registriert seit: 25. Mai 2009
322 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Problem beim ausgeben von FDaten.Strings[i] und mehr...

  Alt 4. Jun 2009, 17:29
das mit dem Trunc ist mir Schleierhaft: der Fehler muss ja vor der if then else liegen da er keine Message ausgibt...

hier mal der gesamte Quelltext bis zum ende der OnCreate:

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  Grids, StdCtrls, IniFiles, Unit2, ImgList, jpeg, ExtCtrls;

type
  TForm1 = class(TForm)
    EDatum: TEdit;
    EUmlauf: TEdit;
    EWagen: TEdit;
    EAnmerkung: TEdit;
    EStundenG: TEdit;
    EStunden: TEdit;
    EKilometer: TEdit;
    StGr: TStringGrid;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Bsave: TButton;
    ELaden: TEdit;
    Label7: TLabel;
    Bload: TButton;
    BCalc: TButton;
    Label8: TLabel;
    Image: TImage;
    EGehalt: TEdit;
    CheckG: TCheckBox;
    procedure FormCreate(Sender: TObject);
    procedure EUmlaufChange(Sender: TObject);
    procedure EWagenChange(Sender: TObject);
    procedure EStundenGChange(Sender: TObject);
    procedure EStundenChange(Sender: TObject);
    procedure EKilometerChange(Sender: TObject);
    procedure EAnmerkungChange(Sender: TObject);
    procedure BsaveClick(Sender: TObject);
    procedure BloadClick(Sender: TObject);
    procedure BCalcClick(Sender: TObject);
    procedure EDatumChange(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure EGehaltChange(Sender: TObject);
  private
    { Private-Deklarationen }
    FDaten: TStringList;
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

var gesamtstunden,stundenohne :Integer;
 var gehalt :Real;
  var save :TIniFile;

implementation

{$R *.DFM}

procedure TForm1.FormCreate(Sender: TObject);
var i: Integer;
var vdatum :TDate;
begin
  EDatum.Text:=DateToStr(Date);

  FDaten := TStringList.Create;
  StGr.Cells[0,1]:='Heute';
  StGr.Cells[0,2]:='Gestern';
  StGr.Cells[0,3]:='Vorgestern';
  StGr.Cells[0,4]:='Datum';
  StGr.Cells[0,5]:='Datum';
  StGr.Cells[0,6]:='Woche';
  StGr.Cells[0,7]:='Monat';
  StGr.Cells[0,8]:='Jahr';
  StGr.Cells[1,0]:='Tag';
  StGr.Cells[2,0]:='Umlauf:';
  StGr.Cells[3,0]:='Wagen';
  StGr.Cells[4,0]:='Stunden';
  StGr.Cells[5,0]:='Stunden ohne';
  StGr.Cells[6,0]:='Kilometer';
  StGr.Cells[7,0]:='Anmerkungen';

  vdatum:=Date-1;
  for i := 0 to FDaten.Count -1 do begin
  ShowMessage(FDaten.Strings[i]);
   if StrToDate(FDaten.Strings[i]) = vdatum then
    StGr.Cells[1,2]:=FDaten.Strings[i];
  end;
end;
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Problem beim ausgeben von FDaten.Strings[i] und mehr...

  Alt 4. Jun 2009, 17:37
Die StringListe ist allerdings leer. Du hast vergessen die Ini zu laden
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Fussel9
Fussel9

Registriert seit: 25. Mai 2009
322 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Problem beim ausgeben von FDaten.Strings[i] und mehr...

  Alt 4. Jun 2009, 17:38
wo soll ich sie denn laden habs schon so:

Delphi-Quellcode:
save:=TIniFile.Create('.\Save\DoNotDelete.ini');

  vdatum:=Date-1;
  for i := 0 to FDaten.Count -1 do begin
  ShowMessage(FDaten.Strings[i]);
   if StrToDate(FDaten.Strings[i]) = vdatum then
    StGr.Cells[1,2]:=FDaten.Strings[i];
  end;
end;
versucht, das klappt auch nicht...
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#10

Re: Problem beim ausgeben von FDaten.Strings[i] und mehr...

  Alt 4. Jun 2009, 17:43
Dieser Befehl öffnet ja nur die Ini. Du musst diese dann natürlich noch einlesen.
-Zuerst die Sektionen
-und dann pro Sektion den Wert von Datum und diesen dann in die StringListe schreiben. Aber besser wäre es ihn in einen Array mit Tdate-Werten zu schreiben
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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:12 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