![]() |
TPicture-Array per for-to-do-Schleife füllen < zu blöd :(
Moin.
Programmiere mit Lazarus, habe vorher Delphi genutzt. Ich habe ein TPicture-Array und will dort Bilder von einem Kartenspiel reinladen. Die sind von 0 bis 31 durchnummeriert. Mein Code:
Delphi-Quellcode:
Wo liegt der Fehler?
var
Kartenblatt: array[0..31] of TPicture; function Kartenladen(Pfad, Typ: string): Boolean; var i: integer; begin Result := True; for i:=0 to 31 do begin ShowMessage(Pfad + '\' + IntToStr(i) + '.' + Typ); Kartenblatt[i].PNG.Create; If FileExists(Pfad + '\' + IntToStr(i) + '.' + Typ) then Kartenblatt[i].PNG.LoadFromFile(Pfad + '\' + IntToStr(i) + '.' + Typ) Else Result := False; end; end; Am Anfang hatte ich noch direkt Kartenladen[i].LoadFromFile genutzt ohne die Dateierweiterung vorher anzugeben. Der Funktion soll ja eig. mit der Variable "Typ" erst der Dateityp übergeben werden, habe gehoffft TPicture erkennt das automatisch. Aber auch wenn ich direkt mit ".PNG." arbeite und PNG-Dateien liefere, stürzt es mit na Fehlermeldung in der picture.inc ab. Wo liegt mein Fehler? |
AW: TPicture-Array per for-to-do-Schleife füllen < zu blöd :(
Zitat:
Und ein Schluss ins blaue...
Delphi-Quellcode:
var
Kartenblatt: array[0..31] of TPicture; function Kartenladen(Pfad, Typ: string): Boolean; var i: integer; begin Result := True; for i:=0 to 31 do begin ShowMessage(Pfad + '\' + IntToStr(i) + '.' + Typ); Kartenblatt[i]:=TPicture.Create; If FileExists(Pfad + '\' + IntToStr(i) + '.' + Typ) then Kartenblatt[i].PNG.LoadFromFile(Pfad + '\' + IntToStr(i) + '.' + Typ) Else Result := False; end; end; |
AW: TPicture-Array per for-to-do-Schleife füllen < zu blöd :(
Zitat:
Und die wichtigen Informationen fehlen mal wieder: Welche Fehlermeldung? Von was für einem Typ ist Kartenblatt? Was ist oder macht die Eiegenschaft PNG? Was soll das:
Delphi-Quellcode:
eine Objekt erstellt man wie folgt:
Kartenblatt[i].PNG.Create;
Delphi-Quellcode:
.
Objekt := TObjekt.Create();
|
AW: TPicture-Array per for-to-do-Schleife füllen < zu blöd :(
Zitat:
Delphi-Quellcode:
var Kartenblatt: array[0..31] of TPicture;
|
AW: TPicture-Array per for-to-do-Schleife füllen < zu blöd :(
Mist. Treten meinen ganzen Beitrag in die Tonne. Das war totaler Müll, was ich da geschrieben habe. Aber ohne Fehlermeldung wird es schwer zu helfen.
|
AW: TPicture-Array per for-to-do-Schleife füllen < zu blöd :(
Vielen Dank omata, dein Schluss ins Blaue war genau richtig.
Schon zu spät für sowas :D Sorry, bin so lange raus und hab jetz wieder angefangen... Könnt euch wieder hinlegen :) |
AW: TPicture-Array per for-to-do-Schleife füllen < zu blöd :(
Wo hat omata denn ins Blaue geschossen? Er hat mich doch nur auf die Deklaration hingewiesen.
@omata: Jetzt weiß ich was passiert ist: Eine Deklaration fängt bei mir immer Mit T-Irgendwas an. Das zugehörige Objekt oder Variable wird dann genauso genannt, nur ohne das T. |
Dieses Thema wurde am "18. Oct 2010, 06:49 Uhr" von "Matze" aus dem Forum "Object-Pascal / Delphi-Language" in das Forum "Lazarus (IDE)" verschoben.
|
AW: TPicture-Array per for-to-do-Schleife füllen < zu blöd :(
Wenn da 3 Mal im Sourcecode steht:
Delphi-Quellcode:
dann sollte man doch eine Zwischenvariable
Pfad + '\' + IntToStr(i) + '.' + Typ
Delphi-Quellcode:
benützen,oder?
var filename:string
|
AW: TPicture-Array per for-to-do-Schleife füllen < zu blöd :(
Das sehe ich auch so. Außerdem würde ich String-Parameter wann immer möglich (also wenn sie innerhalb der Routine nicht verändert werden) als const deklarieren.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:31 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