![]() |
AW: Byte to int
Ihc würde mal sagen Delphi 7 war da noch nicht so weit:-D
|
AW: Byte to int
Leider kann ich Deinen Originalcode nicht testen, da er zuviel globales Zeugs enthält, dessen Datentypen ich nicht einmal kenne. Ich glaub aber kaum, dass es an Delphi 7 liegen soll.
|
AW: Byte to int
wenn du möchtest kann ich den ein mal ganz hoch loaden wird nur etwas länger
und wenn du die zeit dazu erübrigen kannst |
AW: Byte to int
Kein Problem, allerdings hab ich Delphi 7 nur zu Hause installiert und kann daher erst nach 17:30 Uhr testen.
|
AW: Byte to int
Ja ich nehm Arbeitslaptop Wochenende jetzt auch mit nach hause, um das zu testen sonst denkt man da die ganze zeit dran.
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, ImgList, jpeg, Types, Contnrs; type Tintegerarray = array of integer; Tpicarray = array of TPicture; Tstringarray = array of String; TForm1 = class(TForm) Edit1: TEdit; Edit2: TEdit; Edit3: TEdit; Button1: TButton; Edit4: TEdit; Edit5: TEdit; Edit6: TEdit; Edit7: TEdit; Edit8: TEdit; Edit9: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; Label6: TLabel; Label7: TLabel; Label8: TLabel; Label9: TLabel; Label10: TLabel; Label11: TLabel; Label12: TLabel; Image1: TImage; Image2: TImage; Image3: TImage; Image4: TImage; Image5: TImage; Image6: TImage; Image7: TImage; Image8: TImage; Image9: TImage; Image10: TImage; Image11: TImage; Image12: TImage; Image13: TImage; Image14: TImage; Image15: TImage; Image16: TImage; Image17: TImage; Image18: TImage; Image19: TImage; Image20: TImage; Image21: TImage; Image22: TImage; Image23: TImage; Image24: TImage; Image25: TImage; Image26: TImage; Image27: TImage; Label13: TLabel; Label14: TLabel; Label15: TLabel; Label16: TLabel; Label17: TLabel; Label18: TLabel; Label19: TLabel; Label20: TLabel; Label21: TLabel; Label22: TLabel; Label23: TLabel; Label24: TLabel; procedure Button1Click(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} function numberdissect(numbers: Cardinal): TByteDynArray; var safer: integer; i: integer; begin safer := 0; SetLength(Result,2); while numbers <> 0 do begin Result[safer] := numbers mod 10; numbers := numbers div 10; inc(safer); end; If Result[2] = not(null) then begin i := Result[0]; Result[0] := Result[2]; Result[2] := i; end else begin i := Result[1]; Result[1] := Result[0]; Result[0] := i; end; end; function Symbolspeicher: Tstringarray; var counter: integer; swap : String; merker1, merker2: integer; begin SetLength(Result,9); for counter := low(Result) to high(Result) do begin Result[counter] := 'Symbolik_' + intToStr(counter) + '.jpg'; end; for counter := low(Result) to high(Result) do begin merker1 := trunc(random(high(Result)))+Low(result); merker2 := trunc(random(high(Result)))+Low(result); swap := Result[merker1]; Result[merker1] := Result[merker2]; Result[merker2] := swap; end; end; function picload: Tpicarray; var counter: integer; picPath: Tstringarray; begin picPath := Symbolspeicher; SetLength(result,10); for counter := Low(result) to high(Result) do begin Result[counter] := TPicture.Create; Result[counter].LoadFromFile(picPath[counter]); end; end; function bedingung: Tintegerarray; var Generierer: array[0..3] of integer; max, max2: integer; begin repeat Generierer[0] := trunc(random(899))+100; max := 999 - Generierer[0]; Generierer[1] := trunc(random(max))+10; Generierer[2] := trunc(random(max))+10; max := 999 - Generierer[1]; max2 := 999 - Generierer[2]; if max > max2 then Generierer[3] := trunc(random(max2))+10 else Generierer[3] := trunc(random(max))+10; SetLength(result,9); result[0] := Generierer[0]; result[1] := Generierer[1]; result[2] := Generierer[2]; result[3] := Generierer[3]; result[4] := Generierer[0] + Generierer[1]; //A2 + A1 = C1 result[5] := Generierer[2] + Generierer[0]; //B1 + A1 = C2 result[6] := Generierer[1] + Generierer[3]; //A2 + B2 = D1 result[7] := Generierer[2] + Generierer[3]; //B1 + B2 = D2 result[8] := Result[5]+Result[6]; //engergebnis until(result[8] <= 999); if (Result[8] = Result[4] + Result[7]) then ShowMessage('Die Zahlen Stimmen ') else ShowMessage('Die Zahlen stimmen nicht'); end; procedure TForm1.Button1Click(Sender: TObject); type Allrounder = TImage; var rec : TIntegerarray; pics : Tpicarray; saferend: TByteDynArray; firstIcon: Tstringarray; counter, oneup: integer; middlesafer : array[0..26] of Smallint; nein : array[0..26] of String; begin oneup := 0; SetLength(saferend,3); rec := bedingung; firstIcon := Symbolspeicher; Pics := picload; Edit1.Text := InttoStr(rec[0]); Edit2.Text := InttoStr(rec[1]); Edit3.Text := InttoStr(rec[4]); Edit4.Text := InttoStr(rec[2]); Edit5.Text := InttoStr(rec[3]); Edit6.Text := InttoStr(rec[7]); Edit7.Text := InttoStr(rec[5]); Edit8.Text := InttoStr(rec[6]); Edit9.Text := InttoStr(rec[8]); repeat for counter := 0 to 3 do begin middlesafer[counter] := (numberdissect(rec[oneup])); (*[Fehler] Unit1.pas(274): Inkompatible Typen: 'Smallint' und 'TByteDynArray' *) end; inc(oneup); until oneup = 9; for counter := low(middlesafer) to high(middlesafer) do (* WEnn ich aus dem smallint ein ByteDynArray mache *) begin case middlesafer[counter] of 0: picload[0]; else end; end; end; procedure TForm1.FormCreate(Sender: TObject); begin Randomize; end; end. |
AW: Byte to int
In welcher Zeile knallt es nun genau?
Und wie war die genaue Fehlermeldung? PS: Man kann nahezu alles per Strg+C als Text kopieren. (Compilermeldungen, Fehlerdialoge, ...) PPS: Zitat:
![]() |
AW: Byte to int
[Fehler] Unit1.pas(274): Inkompatible Typen: 'Smallint' und 'TByteDynArray'
Bei umbennen in TByte Dyn Array [Fehler] Unit1.pas(282): Ordinaltyp erforderlich |
AW: Byte to int
Zitat:
Ganzes Array ... obwohl man bestimmt nur einen der Werte daraus haben wollte. function numberdissect(numbers: Cardinal): TByteDynArray; :stupid: |
AW: Byte to int
Ein paar Zwischenvariablen täten dem Verständnis gut. War vielleicht eher so etwas gemeint?
Delphi-Quellcode:
middlesafer[counter] := numberdissect(rec[oneup])[counter];
|
AW: Byte to int
es funktioniert :coder2::oops:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:04 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