Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Lazarus (IDE) (https://www.delphipraxis.net/81-lazarus-ide/)
-   -   TPicture-Array per for-to-do-Schleife füllen < zu blöd :( (https://www.delphipraxis.net/155304-tpicture-array-per-do-schleife-fuellen-zu-bloed.html)

Sir Rufo 18. Okt 2010 11:39

AW: TPicture-Array per for-to-do-Schleife füllen < zu blöd :(
 
Also so
Delphi-Quellcode:
var
  Kartenblatt: array[ 0..31 ] of TPicture;

function Kartenladen( const Pfad, Typ: string ) : Boolean;
var
  i: integer;
  filename : string;
begin
  Result := True;
  for i := 0 to 31 do
    begin
      filename := Format( '%s%d.%s', [ IncludeTrailingPathDelimiter( Pfad ), i, Typ ] );
      ShowMessage( filename );
      Kartenblatt[ i ] := TPicture.Create;
      If FileExists( filename ) then
        Kartenblatt[ i ].PNG.LoadFromFile( filename )
      Else
        Result := False;
    end;
end;
Ein Hinweis zu den Begriffen Path/Pfad und Dir/Verzeichnis
Bei Path/Pfad erwartet man ein Verzeichnis mit abschließendem Trennzeichen
Bei Dir/Verzeichnis aber ohne
Delphi-Referenz durchsuchenExtractFilePath Delphi-Referenz durchsuchenExtractFileDir

idefix2 18. Okt 2010 11:54

AW: TPicture-Array per for-to-do-Schleife füllen < zu blöd :(
 
@ Sir Rufo
Was ich gerne wissen würde: Warum verwendest Du in dem Fall format statt einer einfachen Stringconcatination?
format muss erst den Formatstring interpretieren und dementsprechend den Ergebnisstring erzeugen, ist also quasi eine interpretative und deshalb sicher langsamere Variante als der + Operator. Intern verwendet Format wohl auch etwas wie inttostr und concat.

Natürlich ist es bei der Behandlung eines einzelnen Strings völlig gleichgültig, ich würde nur prinzipiell gerne wissen, warum Du es so machst.

Sir Rufo 18. Okt 2010 13:14

AW: TPicture-Array per for-to-do-Schleife füllen < zu blöd :(
 
Weil es so einfacher wartbar wird.

Bei Bedarf kann ich die Parameter mehrfach verwenden, das Format ändern und es bleibt übersichtlich.

Qnkel 30. Okt 2010 08:21

AW: TPicture-Array per for-to-do-Schleife füllen < zu blöd :(
 
Vielen Dank Sir Rufo, werde es entsprechend anpassen.

JamesTKirk 30. Okt 2010 13:53

AW: TPicture-Array per for-to-do-Schleife füllen < zu blöd :(
 
Hi!

Noch ein kleiner Tipp zum Erleichtern der Wartbarkeit:

Ersetze in deiner For-Schleife die Grenzen durch
Delphi-Quellcode:
Low(Kartenblatt)
und
Delphi-Quellcode:
High(Kartenblatt)
, also folgendermaßen:

Delphi-Quellcode:
// statt
for i:=0 to 31 do
// schreibst du
for i:=Low(Kartenblatt) to High(Kartenblatt) do
Dann musst du die Schleife nicht anpassen, wenn du mal mehr Karten haben möchtest :D

Gruß,
Sven


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:37 Uhr.
Seite 2 von 2     12   

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