Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi länge zweier integer werte vergleichen (https://www.delphipraxis.net/132728-laenge-zweier-integer-werte-vergleichen.html)

Yogu 18. Apr 2009 15:18

Re: länge zweier integer werte vergleichen
 
Zitat:

Zitat von gangs-taas
was bedeutet das 'max' in der ersten Zeiel ist das nen befehl oder ne variable ?

Schau mal in der Online-Hilfe (F1) ;)

Max gibt einfach den größeren der beiden Parameter zurück.

Zitat:

Zitat von gangs-taas
und das %.*d was bedeutet das ?

Schau mal in der Online-Hilfe unter "Format" :mrgreen:

Zitat:

Zitat von gangs-taas
und meine dritte frage wird in der letzten zeile string2 nicht auch verändert ? aber es soll ja nur string 1 so mit '0' "aufgefüllt" werden das es gleichlang ist wie string 2 ...

Wieso nur String1? Wenn String2 kleiner ist, dann soll doch auch dieser aufgefüllt werden, oder? MaxLen ist aber die Länge des größsten Strings, und so wird ein String nicht bearbeitet, da die gewünschte Länge gleich der momentanen Länge ist.

Zitat:

Zitat von gangs-taas
sorry fals das dumme fragen sind .

Es gibt keine dummen fragen, nur dumme Antworten. Und eine F1-Taste :mrgreen:

Grüße,
Yogu

gangs-taas 18. Apr 2009 15:53

Re: länge zweier integer werte vergleichen
 
okay
danke

gangs-taas 18. Apr 2009 18:54

Re: länge zweier integer werte vergleichen
 
hey,
ich habe jetzt diesen code genommen, bekomme aber Fehlermeldungen.

Delphi-Quellcode:
MaxLen = Max(Length(IntToStr(Variable1)), Length(IntToStr(Variable2))); // Inkompatible Typen: 'string' und 'Integer'
String1 := Format('%.*d', [MaxLen, Variable1]);// Inkompatible Typen Integer und String
String2 := Format('%.*d', [MaxLen, Variable2]); // Inkompatible Typen Integer und String

worand könnte das liegen bzw wie kann ich das ändern ?

himitsu 18. Apr 2009 19:04

Re: länge zweier integer werte vergleichen
 
wie hast du denn deine Variablen definiert?

z.B.:
Delphi-Quellcode:
var String1, String2: String;
  MaxLen, Variable1, Variable2: Integer;

gangs-taas 18. Apr 2009 19:05

Re: länge zweier integer werte vergleichen
 
ich überprüf es eben ^^

edit
hatte die varialben echt falsch definiert




dafür gibs wenn ich das 'programm' ausführe nen anderen fehler nämlich :

Format '%."d' ungültig oder nicht kompatibel mit Argument.

toll ich weiß nicth was Delphi von mir will xD

taaktaak 18. Apr 2009 19:37

Re: länge zweier integer werte vergleichen
 
Na, für 'nen Anfänger ein wenig undurchsichtig, mit
Zitat:

Format('%.*d' .......
hat himitsu gemeint, du musst anstelle des * eine beliebige Zahl einfügen (=WildCard). Also z.B. '%.4d' damit wird die Ausgabe immer auf eine Breite von 4 Zeichen/Ziffern gebracht.

gangs-taas 18. Apr 2009 19:42

Re: länge zweier integer werte vergleichen
 
aber ich will das nicht auf 4 sonder auf (length(Variable2) zeichen bringen
also auf die länge einer variable

geht das auch ?!

DeddyH 18. Apr 2009 19:42

Re: länge zweier integer werte vergleichen
 
Oder so:
Delphi-Quellcode:
MaxLen := Max(Length(IntToStr(Variable1)), Length(IntToStr(Variable2)));
FormatString := Format('%%.%dd',[MaxLen]);
String1 := Format(FormatString, [Variable1]);
String2 := Format(FormatString, [Variable2]);
Ungetestet, sollte nach meinem Dafürhalten aber funktionieren.

gangs-taas 18. Apr 2009 20:12

Re: länge zweier integer werte vergleichen
 
jetzt geht es erst
aber wenn ic hdas programm ausführe bekomme ich die meldung

'%.2d' ist ungültig wobei die Zahl sich immer ändert (wenn ich das programm wieder ausführe)
was ja aber eigl. auch richtig ist...

DeddyH 18. Apr 2009 20:14

Re: länge zweier integer werte vergleichen
 
Sind das auch wirklich Integerwerte, die Du übergibst?


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:00 Uhr.
Seite 2 von 3     12 3      

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