![]() |
AW: POS findet was das ich nicht verstehe... ?
Und ich habe gelernt dass man nicht jede Delphi Funktion bei Google eingeben kann. Da ich PosEX auch noch nie benutzt habe, habe ich da mal bei Google nach gesucht.(Allerdings ohne das Schlagwort Delphi). Hat mit Programmierung nicht mehr viel zu tun
|
AW: POS findet was das ich nicht verstehe... ?
|
AW: POS findet was das ich nicht verstehe... ?
Also ganz allgemein sollte man Funktionen gegenüber Prozeduren mit einem Var-Parameter bevorzugen.
Perlsau hat das im Beitrag #4 schon ganz richtig gemacht. (man sollte aber auch den "Nachrichtentext" als weiteren Parameter übergeben) Insbesondere Funktionen die ausschlieslich von ihren Eingangsparameter(n) abhängen und keine Nebeneffekte haben (sog. pure functions) machen das Testen des Codes zum Kinderspiel. |
AW: POS findet was das ich nicht verstehe... ?
Die richtige Implementierung wäre:
Delphi-Quellcode:
und der Aufruf
function GetParamValue( const AText, AParamName : string; out Value : string ) : Boolean;
begin ... end;
Delphi-Quellcode:
Documentation by Design
var
Nachricht : string; S1, S2 : string; GetParamValue( Nachricht, 'M1', S1 ); if not GetParamValue( Nachricht, 'M2', S2 ) then raise Exception.Create( 'Parameter M2 wird zwingend benötigt!' );
|
AW: POS findet was das ich nicht verstehe... ?
richtig...
Man kann es auch wie bei StrToInt, TryStrToInt und StrToIntDef machen? Oder ParamStr, was beim Fehlen einen Leerstring liefert. |
AW: POS findet was das ich nicht verstehe... ?
Zitat:
Delphi-Quellcode:
TryStrToInt
Delphi-Quellcode:
function TryFoo( const AInput : TSomething; out AOutput : TDifferent ) : Boolean;
begin ... end; function Foo( const AInput : TSomething ) : TDifferent; begin if not TryFoo( AInput, Result ) then raise EFooException.Create( 'Please try something different' ); end; function FooDefault( const AInput, ADefault : TSomething ) : TDifferent; begin if not TryFoo( AInput, Result ) then Result := ADefault; end; |
AW: POS findet was das ich nicht verstehe... ?
Zitat:
|
AW: POS findet was das ich nicht verstehe... ?
Zitat:
|
AW: POS findet was das ich nicht verstehe... ?
Wenn du mehr brauchst, dann StrToInt64. (andersrum ist die 64 einfach nur überladen, da dort automatisch entschieden wird, anhand des Parameters)
|
AW: POS findet was das ich nicht verstehe... ?
Könnte ich machen. Aber die Werte in den Strings werden in LowPart und HighPart eines TULargeInteger eingetragen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:30 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