Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Integer --> null vor zahl? (https://www.delphipraxis.net/54616-integer-null-vor-zahl.html)

100nF 7. Okt 2005 20:08


Integer --> null vor zahl?
 
hallo zusammen,

...ich hoffe mal dass das thema in der richtigen sparte ist...

ich habe gerade entdeckt, dass bei integer-zahlen die erste stelle keine null sein kann:
Delphi-Quellcode:
showmessage(inttostr(001))
resultet: 1 anstatt 001

ich brauche diese null vor den zahlen, um dateien richtig sortieren zu können, etwa so:
001Da.tei
002EineDa.tei
003AndereDa.tei
...
155DieseDa.tei
156JeneDa.tei

weiss jemand wie ich soetwas erreichen kann?
gibts dafür schon eine function?

ich danke für antworten.

gruss
urbanbruhin

supermuckl 7. Okt 2005 20:14

Re: Integer --> null vor zahl?
 
das ist normal. benutze entweder string und sortier das, oder wie auch immer (eigentlich sollte das doch richtig sortiert werden ?! )

Daniel G 7. Okt 2005 20:18

Re: Integer --> null vor zahl?
 
Delphi-Referenz durchsuchenFormat ist das, was du suchst...

100nF 7. Okt 2005 20:24

Re: Integer --> null vor zahl?
 
hallo supermuckl,

danke für deine antwort :angel:

also string geht nicht gut, siehe code:
Delphi-Quellcode:
for i:=0 to listview2.Items.Count-1 do
  begin
    if listview2.Items.Item[i].subitems.Count > 1 then
      filename := listview2.Items.Item[i].SubItems[1]; // pfad zu einer datei wird ermittelt
    if fileexists(filename) then
      copyfile(pchar(filename), pchar(savepath+inttostr(i)+extractfilename(filename)), false);
  end;
Zitat:

(eigentlich sollte das doch richtig sortiert werden ?! )
die datei, die kopiert werden soll, wird entweder auf eine CD (mp3-format) oder auf einen mp3-player kopiert. da werden die tracks nach dem alphabet abgespielt, jedoch sollten sie so abgespielt werden, wie sie in der listview2 stehen.

der code oben funktioniert schon, jedoch stimmt dann die reihenfolge nicht ganz:
1blabla
11blabla
12blabla
...
2blabla
21blabla

EDIT: geht doch, hatte ein blackout! danke!!

gruss
urbanbruhin

supermuckl 7. Okt 2005 20:42

Re: Integer --> null vor zahl?
 
Zitat:

EDIT: geht doch, hatte ein blackout! danke!!
na also *g*

-> letztendlich ists ja egal ob 01 oder 1 -> beides ist kleiner als 2 (wenn man es als integer betrachtet)

bei string sortierung wäre dann wirklich

112
21
22


die reihenfolge ein wenig verdreht, da ja die zeichen einzelnt angesehen werden und nicht als zusammenhängende zahl - die dann größer wäre

flossinger 11. Okt 2005 17:31

Re: Integer --> null vor zahl?
 
Hallo urban,

so etwas braucht man in der Tat oft für vernünftige Dateinamen, die sich richtig sortieren lassen. Es soll ja 100 nach 002 kommen, dummerweise kommt ja 100 vor 2 bei einer alphabetischen Sortierung.

Ein bewährter Weg dazu ist der, dass du zuerst eine grosse Konstante zu den Zahlen addierst, und nach der Umwandlung in einen String, diesen links beschneidest. Das folgende Beispiel funktioniert für dreistellige Zahlen.
Zitat:

x:=2;
memo1.lines.add(copy(inttostr(1000+x),2,3));
Ich hoffe, dieses bewusst einfach gehaltene Beispiel beflügelt deine Phantasie beim Anpassen an deine Bedürfnisse.

der Flossinger

Treffnix 11. Okt 2005 17:47

Re: Integer --> null vor zahl?
 
Zitat:

Zitat von flossinger
Ich hoffe, dieses bewusst einfach gehaltene Beispiel beflügelt deine Phantasie beim Anpassen an deine Bedürfnisse.

Schön gesagt :mrgreen:

aber das von Daniel G vorgeschlagene Format() erledigt den Job auch und ist dazu flexibler. Ob auch schneller wage ich gerade nicht zu behaupten. ;)

flossinger 11. Okt 2005 18:03

Re: Integer --> null vor zahl?
 
ja sicher treffnix, hab auch bewusst ein Weg geschrieben.
Auf alle Feälle klopf ich sowas am schnellsten rein, weil ich nicht über Formatstrings, die in jeder Sprache anders aussehen, nachdenken muss. - also aus purer Faulheit verwende ich so etwas.

der Flossinger

Luckie 11. Okt 2005 18:04

Re: Integer --> null vor zahl?
 
Und dein Code wird in jeder Sprache auch anders aussehen. ;)

flossinger 11. Okt 2005 18:07

Re: Integer --> null vor zahl?
 
ja, ist mir auch schon aufgefallen. Bemerkenswert, nicht?

Flossinger


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:09 Uhr.
Seite 1 von 3  1 23      

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