AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi GetLocaleInfo() Aufruf, ist es so richtig?

GetLocaleInfo() Aufruf, ist es so richtig?

Ein Thema von KodeZwerg · begonnen am 2. Apr 2018 · letzter Beitrag vom 3. Apr 2018
Antwort Antwort
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: GetLocaleInfo() Aufruf, ist es so richtig?

  Alt 2. Apr 2018, 17:09
Wäre es so korrekt? (mit Verzicht auf WinApi)

Delphi-Quellcode:
function ThousandSeparator : String;
var
  FS: TFormatSettings;
begin
  FS := TFormatSettings.Create;
  Result := FS.ThousandSeparator;
end;
Muss ich da noch Speicher bereinigen?
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#2

AW: GetLocaleInfo() Aufruf, ist es so richtig?

  Alt 2. Apr 2018, 17:14
Muss ich da noch Speicher bereinigen?
Nee, ist ja ein record . Alternativ beinhaltet System.SysUtils auch die globale Variable FormatSettings , die du direkt verwenden kannst.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
günni0
(Gast)

n/a Beiträge
 
#3

AW: GetLocaleInfo() Aufruf, ist es so richtig?

  Alt 2. Apr 2018, 17:15
Wäre es so korrekt? (mit Verzicht auf WinApi)

Delphi-Quellcode:
function ThousandSeparator : String;
var
  FS: TFormatSettings;
begin
  FS := TFormatSettings.Create;
  Result := FS.ThousandSeparator;
end;
Muss ich da noch Speicher bereinigen?
So ungefähr mache ich es auch. Bisher hat sich, trotz internationalem Gebrauch meines Programms, keiner beschwert. Ich erstelle TFormatSettings aber nur einmalig bei Programmstart und nutze die so gewonnenen Daten dann weiter.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: GetLocaleInfo() Aufruf, ist es so richtig?

  Alt 2. Apr 2018, 17:33
Nun aber hoffentlich Ok:

Delphi-Quellcode:
function ThousandSeparator : String;
begin
  Result := FormatSettings.ThousandSeparator;
end;
Vielen Dank für so schnelle Hilfe!
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
günni0
(Gast)

n/a Beiträge
 
#5

AW: GetLocaleInfo() Aufruf, ist es so richtig?

  Alt 2. Apr 2018, 17:34
Jetzt noch alles in eine eigene Unit und alles ist sauber, schön und leicht erweiterbar (jedenfalls würde ich es so machen).

Delphi-Quellcode:
unit MyUnitX;

interface

type
 TUnitX = record
 private
 var
  MyFormatSettings: TFormatSettings;
 public
  class function ThousandSeparator : string; static;
 end;

implementation

var
 UnitX: TUnitX;

class function TUnitX.ThousandSeparator : String;
begin
  Result := FormatSettings.ThousandSeparator;
end;

initialization

UnitX.MyFormatSettings := TFormatSettings.Create(GetUserDefaultLCID);
So eine ähnliche Unit habe ich. Grund für MyFormatSettings ist, weil ich FormatSettings überschreibe und immer noch die originalen Werte haben möchte.

Geändert von günni0 ( 2. Apr 2018 um 17:40 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: GetLocaleInfo() Aufruf, ist es so richtig?

  Alt 2. Apr 2018, 17:41
Ich portiere gerade Code der auf System.ThousandSeperator aufbaute, kommt nur in einer Unit vor, hab da nun meine funktion drinn, klappte auch beim ersten Post, ich wollte mich nur absichern das ich da kein Fehler mache, da ich die WinApi Antwort leider nicht ganz Verstanden habe erschien mir das was ich Verstanden habe einfacher umzusetzen.
[EDIT]Also das mit dem StrDispose() das es fehlschlagen könnte hab ich Verstanden aber den Rest noch nicht.[/EDIT]
Gruß vom KodeZwerg

Geändert von KodeZwerg ( 2. Apr 2018 um 17:49 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 15:55 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