![]() |
Re: Paradox-Feldtypen zuweisen
Ansatt die Kommas zu ersetzen könnte man Delphi auch anweisen das komma als Dezimaltrenner zu verwenden:
Delphi-Quellcode:
DecimalSeparator := ',';
|
Re: Paradox-Feldtypen zuweisen
Zitat:
|
Re: Paradox-Feldtypen zuweisen
Hallo raiguen,
Zitat:
Delphi-Quellcode:
Danke für deine Aufmerksamkeit.
function TryStrToFloat(const S: String; var Value: Extended): Boolean;
begin Result := TextToFloat(PChar(S), Value, fvExtended); end; marabu |
Re: Paradox-Feldtypen zuweisen
Vielen Dank für das gezeigte Interesse.
Delphi-Quellcode:
Mit dieser Funktion komme ich leider nicht klar. Damit erhalte ich die Meldung: "Ungenügende Forward- oder External-Deklaration".
type
TFArtikelListe = class(TForm) ... function TryStrToFloat(const S: String; var Value: Extended): Boolean; Lombi |
Re: Paradox-Feldtypen zuweisen
Hallo Lombi,
TryStrToFloat() ist keine Methode deiner Form sondern eine frei verwendbare Funktion. Nimm sie aus der Klassendeklaration heraus und stelle sie an den Anfang der implementation section, wenn du keine eigene Unit für solche Funktionen in deinem Projekt hast. Grüße vom marabu |
Re: Paradox-Feldtypen zuweisen
Hallo marabu,
schön, von Dir zu hören. Ich hab's nun irgendwie ohne die Funktion TryStrToFloat geschafft: Meine Lösung:
Delphi-Quellcode:
Übrigens verwende ich jetzt für Währungs- und Bestandsfelder den Typ
procedure TFArtikelListe.BtnNeuClick(Sender: TObject);
var Value: Double; begin FArtikel.Show; with FArtikel do begin QueryArtikel.SQL.Text := 'SELECT * FROM Artikel'; QueryArtikel.Open; QueryArtikel.Append; QueryArtikel.FieldByName('EAN').AsString := EditEAN.Text; QueryArtikel.FieldByName('ArtBez').AsString := EditBez.Text; QueryArtikel.FieldByName('MwSt').AsFloat := Value; QueryArtikel.FieldByName('EKpreis').AsFloat := Value; QueryArtikel.FieldByName('VKbrutto').AsFloat := Value; QueryArtikel.FieldByName('Anfangsbestand').AsFloat := Value; end; (n)umerisch. Lombi |
Re: Paradox-Feldtypen zuweisen
Hallo Lombi,
im Hinblick auf deinen baldigen Umstieg auf ein RDBMS solltest du dir vielleicht schon einmal angewöhnen mit einem leeren result set zu arbeiten, wenn du sowieso nur Insert() oder Append() benutzen möchtest:
Delphi-Quellcode:
Freundliche Grüße vom marabu
procedure TFArtikelListe.BtnNeuClick(Sender: TObject);
var Value: Double; begin FArtikel.Show; with FArtikel.QueryArtikel do begin SQL.Text := 'SELECT * FROM Artikel WHERE 1 = 0'; Open; Append; FieldByName('EAN').AsString := EditEAN.Text; // ... Post; end; end; |
Re: Paradox-Feldtypen zuweisen
Delphi-Quellcode:
Hallo marabu,
SQL.Text := 'SELECT * FROM Artikel WHERE 1 = 0';
mit der Änderung des SQL.Textes sind die gespeicherten Daten im DBGrid nicht mehr sichtbar! Grüße Lombi |
Re: Paradox-Feldtypen zuweisen
Hallo Lombi,
aus der Abfolge deiner Befehle in Beitrag #16 habe ich geschlossen, dass du die dort verwendete Query nur für den Append-Befehl benötigst. Wenn die gleiche Query ein DBGrid mit Daten versorgt, dann vergiss meinen Hinweis auf den leeren result set, aber überdenke mal, warum du direkt vor dem Append kurz die Puffer leerst (durch erneutes Zuweisen eines SQL-Statements) und die Query wieder neu aufbaust (durch Open). Grüße vom marabu |
Re: Paradox-Feldtypen zuweisen
Danke für den Hinweis!
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:56 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz