AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Array Problem ! Benötige Hilfe...

Ein Thema von lun87 · begonnen am 19. Nov 2006 · letzter Beitrag vom 20. Nov 2006
Antwort Antwort
Seite 2 von 2     12   
lun87

Registriert seit: 19. Nov 2006
29 Beiträge
 
#11

Re: Arry Problem ! Benötige Hilfe...

  Alt 20. Nov 2006, 12:29
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
  Mit Zitat antworten Zitat
NormanNG

Registriert seit: 1. Feb 2006
294 Beiträge
 
Delphi 2007 Professional
 
#12

Re: Arry Problem ! Benötige Hilfe...

  Alt 20. Nov 2006, 12:40
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.
Gruß
Norman
  Mit Zitat antworten Zitat
lun87

Registriert seit: 19. Nov 2006
29 Beiträge
 
#13

Re: Arry Problem ! Benötige Hilfe...

  Alt 20. Nov 2006, 12:52
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
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#14

Re: Arry Problem ! Benötige Hilfe...

  Alt 20. Nov 2006, 13:05
Der array ist ja nur lokal definiert und man kann auf ihn nur in dem einen Durchlauf der Funktion zugreifen.
Markus Kinzler
  Mit Zitat antworten Zitat
lun87

Registriert seit: 19. Nov 2006
29 Beiträge
 
#15

Re: Arry Problem ! Benötige Hilfe...

  Alt 20. Nov 2006, 13:23
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:10 Uhr.
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