AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Deutsche Dezimal-Zahl in englisches Format bringen
Thema durchsuchen
Ansicht
Themen-Optionen

Deutsche Dezimal-Zahl in englisches Format bringen

Ein Thema von Ykcim · begonnen am 11. Jan 2018 · letzter Beitrag vom 17. Jan 2018
Antwort Antwort
Ykcim

Registriert seit: 29. Dez 2006
Ort: NRW
856 Beiträge
 
Delphi 12 Athens
 
#1

AW: Deutsche Dezimal-Zahl in englisches Format bringen

  Alt 12. Jan 2018, 11:27
Also so könnte man es in diesem Falle lösen - allerdings ist das keine gute Lösung...
Ich ändere das Dezimalkennzeichen "manuell" von Komma auf Punkt in einer For-Schleife...
Delphi-Quellcode:
   //CSV-Datei für den UpLoad erstellen
   FillAdvGrid(SG_Export, ColsAG, RowsAG);
   WriteFile('as400');
   FCSVPfad:=FCSVPfad+'AS400UPLOADFILE.CSV';
   //decimalZahl von deutsch nach englisch ändern
   for I := 0 to SG_Export.RowCount -1 do begin
      SG_Export.Cells[21,I]:=StringReplace(SG_Export.Cells[21,I],',','.',[rfIgnoreCase, rfReplaceAll]);
   end;
   SG_Export.SaveToCSV(FCSVPfad);
   //CSV-Datei hochladen
   LoadData(FCSVPfad, 'as400temp');
   //CSV-Datei löschen
   if not DeleteFile(FCSVPfad) then ShowMessage('Datei "'+FCSVPfad+'" konnte nicht gelöscht werden!');
Wenn es einen charmanteren Weg gibt, bin ich daran sehr interessiert...

Vielen Dank
Patrick
Patrick
  Mit Zitat antworten Zitat
matashen

Registriert seit: 29. Jan 2007
Ort: daheim
487 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#2

AW: Deutsche Dezimal-Zahl in englisches Format bringen

  Alt 12. Jan 2018, 12:16
Und warum nimmst du nicht die Formatsettings

ALT:
Decimalseperator:='.';


aktuelles Delphi
Formatsettings.decimalseparator:='.'


ThousandSeparator
gibt die Tausendertrennzeichen an.
Matthias
Das Leben ist eines der härtesten.
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.740 Beiträge
 
Delphi 6 Enterprise
 
#3

AW: Deutsche Dezimal-Zahl in englisches Format bringen

  Alt 12. Jan 2018, 12:44
Was macht denn FillAdvGrid? Wenn du da das StringGrid manuell irgendwie befüllst, kannst du dass doch da ändern. Wie der Name schon sagt sind im StringGrid nur noch Strings und das wird halt so exportiert, wie es im StringGrid steht.

Dementsprechend (je nachdem was FillAdvGrid macht/ist) sind daher auch die FormatSettings Latte...
Ralph
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.600 Beiträge
 
Delphi 7 Professional
 
#4

AW: Deutsche Dezimal-Zahl in englisches Format bringen

  Alt 12. Jan 2018, 16:23
Wie die CSV entsteht, ist wohl nur dort bestimmt: SG_Export.SaveToCSV
Ohne den Quelltext und / oder einer genauen Beschreibung dessen, wird es beim Raten bleiben. Innerhalb dieser Routine sind höchstwahrscheinlich die FormatSettings zu ändern (oder hat die Komponenten bereits entsprechende Attribute und / oder Methoden?
Ausführliche Doku zum TAdvStringGrid
  Mit Zitat antworten Zitat
bcvs

Registriert seit: 16. Jun 2011
737 Beiträge
 
Delphi 12 Athens
 
#5

AW: Deutsche Dezimal-Zahl in englisches Format bringen

  Alt 16. Jan 2018, 06:58
Ich würde den CSV-Export nicht von dem ADVGrid machen lassen. In deinem FillAdvGrid gehst du doch wahrscheinlich deine ganzen Daten durch. Dann kannst du da doch auch gleich die CSV schreiben. Dann hast du volle Kontrolle darüber, was da rein kommt und bist nicht auf die Export-Routine des Grid angewiesen.
  Mit Zitat antworten Zitat
Benutzerbild von ibp
ibp

Registriert seit: 31. Mär 2004
Ort: Frankfurt am Main
1.511 Beiträge
 
Delphi 7 Architect
 
#6

AW: Deutsche Dezimal-Zahl in englisches Format bringen

  Alt 16. Jan 2018, 07:12
sind denn die Zahlen auch als numerischer Wert im AdvStringGrid definiert oder als String?
  Mit Zitat antworten Zitat
Fukiszo
(Gast)

n/a Beiträge
 
#7

AW: Deutsche Dezimal-Zahl in englisches Format bringen

  Alt 16. Jan 2018, 09:22
Hallo, ich hatte mal ein ähnliches problem,
und hab das übel an der wurzel gepackt.
Der code ändert für das ganze system die interpretierung/darstellung der trennzeichen.

hier delphi 7 kompatibler code,
ich hoff es hilft.

edited:
hab den source entfernt da er, wie oben beschrieben "für das ganze system" war und nicht für dein lokales problem.
Bei Interesse, einfach nachfragen, in den situation wo ich es brauchte, und nach bearbeitung auch wieder zurückstellte,
half mir mein code aus der patsche, da mein übel = das system war.
ich nutzte diesen code in batch dateien. egal.

Geändert von Fukiszo (16. Jan 2018 um 10:05 Uhr) Grund: es erschien mir weise
  Mit Zitat antworten Zitat
Antwort Antwort


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 05:28 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