AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Paradox-Feldtypen zuweisen
Thema durchsuchen
Ansicht
Themen-Optionen

Paradox-Feldtypen zuweisen

Ein Thema von LOMBI · begonnen am 12. Mai 2006 · letzter Beitrag vom 20. Mai 2006
Antwort Antwort
Seite 2 von 2     12   
mkinzler
(Moderator)

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

Re: Paradox-Feldtypen zuweisen

  Alt 14. Mai 2006, 20:15
Ansatt die Kommas zu ersetzen könnte man Delphi auch anweisen das komma als Dezimaltrenner zu verwenden:

DecimalSeparator := ',';
Markus Kinzler
  Mit Zitat antworten Zitat
raiguen
(Gast)

n/a Beiträge
 
#12

Re: Paradox-Feldtypen zuweisen

  Alt 14. Mai 2006, 22:44
Zitat von mkinzler:
Ansatt die Kommas zu ersetzen könnte man Delphi auch anweisen das komma als Dezimaltrenner zu verwenden:

DecimalSeparator := ',';
Hat keine Auswirkung, wenn Gleitkommazahlen in ein normalen EditFeld eingeben werden, oder irgendeine andere StringVariable eine Zahl mit Komma als Dezimaltrenner enthält! Die Umwandlung in eine FloatVariable wird auf jeden Fall am Komma scheitern.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#13

Re: Paradox-Feldtypen zuweisen

  Alt 15. Mai 2006, 22:36
Hallo raiguen,

Zitat von raiguen:
Deine Funktion wird bei der deutschen Schreibweise eines Gleitkommawertes (23,456)immer FALSE zurückgeben
da hast du Recht. Da bei mir D3 nicht installiert ist, habe ich mal D2 angeworfen und noch einen Fehler entdeckt - die calling convention "out" wird wahrscheinlich auch nicht kompiliert. Und weil es mir um den upgrade path geht, schlage ich die Umbenennung deiner Funktion IstGleitkommazahl() vor:

Delphi-Quellcode:
function TryStrToFloat(const S: String; var Value: Extended): Boolean;
begin
  Result := TextToFloat(PChar(S), Value, fvExtended);
end;
Danke für deine Aufmerksamkeit.

marabu
  Mit Zitat antworten Zitat
LOMBI
(Gast)

n/a Beiträge
 
#14

Re: Paradox-Feldtypen zuweisen

  Alt 17. Mai 2006, 16:15
Vielen Dank für das gezeigte Interesse.

Delphi-Quellcode:
type
  TFArtikelListe = class(TForm)
...
    function TryStrToFloat(const S: String; var Value: Extended): Boolean;
Mit dieser Funktion komme ich leider nicht klar. Damit erhalte ich die Meldung: "Ungenügende Forward- oder External-Deklaration".

Lombi
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#15

Re: Paradox-Feldtypen zuweisen

  Alt 18. Mai 2006, 10:44
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
  Mit Zitat antworten Zitat
LOMBI
(Gast)

n/a Beiträge
 
#16

Re: Paradox-Feldtypen zuweisen

  Alt 19. Mai 2006, 14:46
Hallo marabu,

schön, von Dir zu hören. Ich hab's nun irgendwie ohne die
Funktion TryStrToFloat geschafft:

Meine Lösung:

Delphi-Quellcode:
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;
Übrigens verwende ich jetzt für Währungs- und Bestandsfelder den Typ
(n)umerisch.

Lombi
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#17

Re: Paradox-Feldtypen zuweisen

  Alt 19. Mai 2006, 21:22
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:
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;
Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
LOMBI
(Gast)

n/a Beiträge
 
#18

Re: Paradox-Feldtypen zuweisen

  Alt 20. Mai 2006, 13:45
SQL.Text := 'SELECT * FROM Artikel WHERE 1 = 0'; Hallo marabu,

mit der Änderung des SQL.Textes sind die gespeicherten Daten im DBGrid
nicht mehr sichtbar!

Grüße
Lombi
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#19

Re: Paradox-Feldtypen zuweisen

  Alt 20. Mai 2006, 14:52
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
  Mit Zitat antworten Zitat
LOMBI
(Gast)

n/a Beiträge
 
#20

Re: Paradox-Feldtypen zuweisen

  Alt 20. Mai 2006, 17:22
Danke für den Hinweis!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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