Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi IntToStr (https://www.delphipraxis.net/35691-inttostr.html)

DelphiFreund 10. Dez 2004 19:33


IntToStr
 
Hi Leute,
ich muss wissen wie die Funktion IntToStr funktioniert, oder am Besten den originalen Quelltext der Funktion, ich muss sie verändern, damit Zahlen eines anderen (größeren) Formates umgerechnet werden können, aber ich weiss nicht, wie ich das mache. Mir ist zwar eine Methode eingefallen, aber diese ist sehr speicherlastig bei längeren Zahlen. Ich konnte sie auch nicht im DelphiOrdner finden. Danke für jeden Tipp.



Gruß DelphiFreund


//Edit1: Wenn jemand aber eine eigene Idee zur Umsetzung hat immer her damit :zwinker:

Helmi 10. Dez 2004 19:37

Re: IntToStr
 
entweder du gehst mit der Maus bei gedrückter Strg-Taste über das Wort IntToStr und klickst dann drauf - dann öffnet sich die jeweilige Unit

oder du benutzt

FloatToStr wenn es um größere Formate gehen soll

mfg
Helmi

jfheins 10. Dez 2004 19:37

Re: IntToStr
 
Einfach inttostr schreiben und mit STRG draufklicken :zwinker:

Aber: Geht nicht Int64 ???
Wenn nicht :arrow: Strings

MisterNiceGuy 10. Dez 2004 19:38

Re: IntToStr
 
Hi,
Die Funktion steht in der sysutils.pas

Leider find ich die Datei grad nicht auf meinem Rechner, aber musste einfach mal nach suchen!

DelphiFreund 10. Dez 2004 19:41

Re: IntToStr
 
Sorry Leute, aber so leicht ist das leider nicht, 1. FloatToString ist auch zu wenig und 2. bei strg + inttostr klick kommt: datei sysutils.pas nicht gefunden, und ich finde sie auch nicht auf dem rechner, aber benutzten kann ich sie.

alcaeus 10. Dez 2004 19:45

Re: IntToStr
 
Hi Delphifreund,

dann hast du die VCL-Sourcen nicht installiert :zwinker:

Nun mal eine dumme Frage. Wie gross sind denn die Zahlen dass Integer nicht mehr reicht? Und vor allem, wie speicherst du sie ab?

Greetz
alcaeus

DelphiFreund 10. Dez 2004 19:48

Re: IntToStr
 
Die Sache ist, sie können wirklich sehr lang werden, ich speichere sie in Streams, alles noch in Entwicklungsfase, aber es ist nervig, den windowsrechner zum umrechnen der hex-zahlen zu benutzten.



//Edit1: Woher bekomme ich die Sourcen?

glkgereon 10. Dez 2004 19:54

Re: IntToStr
 
ich habma irgendwo gesehen das inttostr mit asm geschrieben/implementiert wurde :gruebel:

da ich aber keine ahnung von asm hab, habbich mir den qt net gemerkt...

Luckie 10. Dez 2004 19:57

Re: IntToStr
 
Zitat:

Zitat von MisterNiceGuy
Leider find ich die Datei grad nicht auf meinem Rechner, aber musste einfach mal nach suchen!

Du wirst sie auch nicht finden, da bei der Personal Version die Sourcen nicht dabei sind.

@Delpgifreund: Du hast doch die Enterprise Version, da sind sie dabei, warum guckst du nicht einfach mal nach?

Pseudemys Nelsoni 10. Dez 2004 19:58

Re: IntToStr
 
*edit post gelöscht'

DelphiFreund 10. Dez 2004 20:01

Re: IntToStr
 
Ich sagte vorhin doch, dass sie es nicht sind, sonst hätt ich ja mit strg + inttostr klick machen können oder ich hätte sie unter dem namen 'sysutils.pas' auf der Platte gefunden, das war leider nicht der fall.

Luckie 10. Dez 2004 20:06

Re: IntToStr
 
Bei der Enterprise Version sind sie definitiv dabei. Schon mal auf die Idee gekommen auf der CD zu gucken?

DelphiFreund 10. Dez 2004 20:10

Re: IntToStr
 
Ich hab die Internetversion, hab also keine CD. Ich hab außerdem das gefunden: 'Debug-Versionen der LIB\*.DCU-Dateien stehen in dieser Trial Edition nicht zur Verfügung.' hmm, schade.

Ultimator 10. Dez 2004 20:14

Re: IntToStr
 
:shock:
Was ist denn die Internetversion?
Hoffentlich nicht das, was ich denke :roll:

alcaeus 10. Dez 2004 20:17

Re: IntToStr
 
Ich denke mal er hat die Trial-Version.
Mir ist allerdings immer noch nicht klar, warum genau du einen Stream mit Hilfe von IntToStr in einen String umwandeln willst. AFAIK erhaelst du die Datenmenge aus einem Stream als String (wenn du sie mit der entsprechenden Funktion rauskopierst). Da muesste ich allerdings erst nachsehn...

Greetz
alcaeus

DelphiFreund 10. Dez 2004 20:18

Re: IntToStr
 
Anfangs hatte ich keine Wahl, aber ich hab mir jetzt ein Buch gekauft, aber ich war noch zu faul es zu installieren.

glkgereon 10. Dez 2004 20:18

Re: IntToStr
 
bei der Internetversion an die du denkst (warum bloss :roll: ) sind die aber denke ich dabei ;)

wenn schon, dann auch richtig
(hoffentlich sind nicht die Delphi-ide-sources dabei :) )

zu, zum thema:
guck einfach mal bei google, oder versuch dir einfach unabhängig was zu basteln...

DelphiFreund 10. Dez 2004 20:21

Re: IntToStr
 
Irgendwie sind nur kompilierte Dateien dabei, im dcu format, für sysutils leider auch.

alcaeus 10. Dez 2004 20:30

Re: IntToStr
 
Hi Delphifreund,

wie gesagt, die Sourcen sind nicht dabei.

Zitat:

Die Sache ist, sie können wirklich sehr lang werden, ich speichere sie in Streams, alles noch in Entwicklungsfase, aber es ist nervig, den windowsrechner zum umrechnen der hex-zahlen zu benutzten.
Erklaer doch bitte mal genau wozu du dann noch IntToStr brauchst. Aus dem Stream kannst du die Daten direkt in einen String lesen (Delphi-Referenz durchsuchenTStream.ReadBuffer)

Greetz
alcaeus

DelphiFreund 10. Dez 2004 20:33

Re: IntToStr
 
Ach du meinst, das die Daten in ASCII, etc. gespeichert sind? Schön wärs, aber es sind wirkliche Zahlen, also, wäre '48 61 6C 6C 6F' nicht 'Hallo' sondern: '310.872.140.911'

Chewie 10. Dez 2004 20:41

Re: IntToStr
 
Um mal zum eigentlichen Problem was zu sagen:

Probier mal folgende Methode:

1. Zahl mod 10 -> der Rest ist deine letzte Stelle
2. Zahl div 10 -> mit der neuen Zahl fängst du wieder bei 1. an
3. mach das solange bis deine Zahl = 0 ist

Und die Erweiterung: Ersetze die 10 durch ne 2, und du wandelst ins Binärsystem un. Oder durch ne 16 und.... Darauf solltest du alleine kommen ;)

DelphiFreund 10. Dez 2004 20:52

Re: IntToStr
 
So leicht ist das nicht, du musst dir ja denken, dass das für den Computer ja trotzdem Hexzahlen bleiben, und wenn ich versuchen würde, sie umzuwandeln würde es ja nicht stimmen können. Ich muss mir wohl ein System ausdenken..


//Edit1: Wenn wir 16Finger hätten, hätte ich dieses Problem nicht :wall:

glkgereon 10. Dez 2004 21:11

Re: IntToStr
 
[ot]
du hast doch zehen :roll:
[ot]

aber was hat das damit zu tun?

Delphi-Quellcode:
while zahl>10 do
  begin
  result:=result + inttostr(zahl mod 10);
  zahl:=zahl div 10;
  end;

DelphiFreund 10. Dez 2004 21:20

Re: IntToStr
 
Das hab ich gebraucht, danke für eure Tipps. Ich probier es schnell aus und mach den Thread als beantwortet.


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:41 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