Temat jest tymczasowy i do usunięcia po uzyskaniu odpowiedzi.
Dlatego na razie proszę o nie usuwanie postu


Bardzo proszę osoby mogące przetestować poniższy kod na systemie (jeśli na nim obecnie pracują z delphi) Windows 98 i Me.

Poniższy kod działa poprawnie w XP, ale w 9x i ME jest prawdopodobnie inny sposób pobierania daty (w XP 2005-03-20, a w 9x 05-03-20).
Dlatego zastosowałem rozpoznanie systemu. Jeśli Xp to standardowo oblicza ile dni mineło,a jeśli 9x lub ME to obcina 2 pierwsze znaki z przodu edita2.text, aby nie wyskoczył błąd.

Test odnosi się także do rozwiązania tego samego problemu:
http://4programmers.net/Forum/viewtopic.php?id=68425

Oto kod:
Na formę wstawcie:
label1, Edit2, Button1, LabelSystem

Pod przycisk wystarczy wrzucić kod z procedury TFormTest.Button1Click(Sender: TObject);

Do Edit2.Text wstawcie date: 2005-03-10

uses
 DateUtils;

procedure TFormTest.Button1Click(Sender: TObject);
var
 a : string;
 Bylo, Jest: TDateTime;
 System : TOsVersionInfo;
begin
// pobieranie systemu
System.dwOSVersionInfoSize := SizeOf(System);
GetVersionEx(System);
 case System.dwPlatformId of
  VER_PLATFORM_WIN32_WINDOWS: LabelSystem.Caption := 'W98';
  VER_PLATFORM_WIN32_NT: LabelSystem.Caption := 'WXP';
 end;


if LabelSystem.Caption = 'WXP' then
  begin
   Jest := Now;
   Bylo := StrToDate(Edit2.Text);
   Label1.Caption:= IntToStr(DaysBetween(Jest, Bylo))+' dni';
   {Funkcja DaysBetween oblicza ile dni ninęło od Bylo do Jest}
  end
else
if LabelSystem.Caption = 'W98' then
  begin
   a := Edit2.Text; //przypisanie tekstu edita do zmiennej
   Delete(a,1,2);   //kasowanie
   Edit2.Text := a; //i przypisanie zmiennej do tekstu edita
   Jest := Now;
   Bylo := StrToDate(Edit2.Text);
   Label1.Caption:= IntToStr(DaysBetween(Jest, Bylo))+' dni';
   {Funkcja DaysBetween oblicza ile dni ninęło od Bylo do Jest}
  end;
end;

OK. Jeśli uruchomicie u siebie powyższy przykład i nie wyskoczy wam komunikat w stylu: 2005-03-10 is not a valid date i będzie właściwie obliczona ilość dni dla
Label1.caption to jest OK. Jak są błędy to piszcie co.
Pobrana data dziś to 2005-03-20 a w Edit2.Text np: 2005-03-10 czyli wynik poninien być: 10 dni

Wystarczy mi informacja czy działa ten kod pod 98 lub Millenium