![]() |
Re: Arry Problem ! Benötige Hilfe...
Ich kann leider nicht DezinHex verwenden, da wir mit div und mod arbeiten sollen. Mein Prog funktioniert auch soweit, bis auf das er die Werte aus dem Feld falsch ausgibt bzw nen Fehler... Ich habe echt keine Ahnung mehr.
Delphi-Quellcode:
unit UZahlensysteme;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TForm1 = class(TForm) zahledt: TEdit; ausgabepanel: TPanel; RadioGroup1: TRadioGroup; RadioGroup2: TRadioGroup; wandelnbutton: TButton; clearbutton: TButton; procedure clearbuttonClick(Sender: TObject); procedure wandelnbuttonClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.clearbuttonClick(Sender: TObject); begin zahledt.text := ''; ausgabepanel.caption := ''; end; function DezinDual (var ewert : integer):String; var n, divwert, modwert : integer; Feld : array of integer; begin n := 0; while ewert > 0 do begin setlength(Feld,high(Feld)+2); divwert := ewert div 2; ewert := divwert; modwert := ewert mod 2; Feld[n] := modwert; inc(n); end; end; {function DezinDual (ewert : integer):String; var erg : String; begin erg :=''; while ewert > 0 do begin erg := inttostr(ewert mod 2) + erg; ewert := ewert div 2; end; result:= erg; end; } procedure TForm1.wandelnbuttonClick(Sender: TObject); var ewert, ergebnis, Feld, erg : integer; n : array of string; begin ewert := strtoint(zahledt.text); //DezinDual (ewert); DezinDual (ewert); //ausgabepanel.Caption := inttostr(erg); ausgabepanel.caption := inttostr(Feld[n]); ----> hier ist der Fehler = Array Type required... Hab ich in der Funktion u. Proc //ausgabepanel.caption := IntToHex(ewert,4); end; end. Werd einfach weiter probieren bis es funzt. mfg Lun87 |
Re: Arry Problem ! Benötige Hilfe...
Hi,
Corpsman hat doch oben schon den Fehler beschrieben. Du hast eine Funktion, verwendest aber das Ergebnis nicht. Du verwendest lokale Variablen die den gleichen Namen haben. Diese sind aber "lokal" zur jeweilien Methode und haben, außer das sie den gleichen Namen tragen, nichts miteinander zu tun. |
Re: Arry Problem ! Benötige Hilfe...
so langsam verzweifel ich hiermit...-.- irgendwie steig ich da net hinter.. das was ihr mir sagt verstehe ich aber ich verstehe nicht warum er diese lokale variable (Feld) in der ja ALLES gespeichert ist an eine andere variable übergibt die dann eine ausgabe ermöglicht... Ist es nicht möglich in der function ein FEld zu haben was meine Werte speichert und die ich dann mittels einer anderen variable ausgebe?
Delphi-Quellcode:
function DezinDual (var ewert, ergebnis : integer):String;
var n, divwert, modwert : integer; Feld : array of integer; begin n := 0; while ewert > 0 do begin setlength(Feld,high(Feld)+2); divwert := ewert div 2; ewert := divwert; modwert := ewert mod 2; Feld[n] := modwert; inc(n); end; Feld[n] := ergebnis; end; procedure TForm1.wandelnbuttonClick(Sender: TObject); var ewert, ergebnis, Feld, erg : integer; n : array of string; begin ewert := strtoint(zahledt.text); DezinDual (ewert, ergebnis); ausgabepanel.caption := inttostr(ergebnis); //ausgabepanel.caption := IntToHex(ewert,4); end; end. mfg Lun87 |
Re: Arry Problem ! Benötige Hilfe...
Der array ist ja nur lokal definiert und man kann auf ihn nur in dem einen Durchlauf der Funktion zugreifen.
|
Re: Arry Problem ! Benötige Hilfe...
Jut gut das wusste ich nicht, dachte man kann von überall zugreifen. Naja dann werd ich das Prog löschen und anders versuchen... hab ja mehrere Anläufe... (inttoHex etc.) entspricht zwar nicht meiner übung die ich haben wollte aber naja... deswegen gibt der nur eine zahl aus...
Habt ihr vielleicht einen Typ für Anfänger? Wie sollen sie am besten rangehen an Delphi? Gibt es Übungen im Netz mit Lösung ? Ich danke Euch bis hierhin mfg Lun87 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:07 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