AGB  ·  Datenschutz  ·  Impressum  







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

Probleme mit parametern

Ein Thema von gangs-taas · begonnen am 3. Aug 2009 · letzter Beitrag vom 3. Aug 2009
Antwort Antwort
gangs-taas

Registriert seit: 24. Mär 2009
364 Beiträge
 
#1

Probleme mit parametern

  Alt 3. Aug 2009, 22:04
Hey,
ich habe in meinem programm ein Problem mit parametern...
zu erst :
ich bekomme die Fehlermeldung " Die Typen der tatsächlichen und formalen Var-Parameter müssen übereinstimmen"

das hier ist mein code:

Delphi-Quellcode:
[...]
var
  Form1: TForm1;
  Zwischenspeicher : TStringlist;
  Zwischenspeicher2 : TStringlist;
  Textdatei,Textdatei2 : String;
  woche : String ;
  woche2 : String;
  Text : String ;
const ext = '.txt'   ;
implementation

procedure TForm1.FormCreate(Sender: TObject);
begin
  text := ('Montag' + #13#10 + 'Dienstag' + #13#10 + 'Mittwoch' + #13#10 + 'Donnerstag' + #13#10 + 'Freitag' + #13#10 + 'Samstag' + #13#10 + 'Sonntag');
  Textdatei2 := woche+'Termine ' +Edit8.Text + '\' +(IntToStr(KWoche +1))+ext;
  prüfen(1,Woche,Text,Textdatei);
end;

function TForm1.Prüfen(var HilfsVar: Integer; Pfad : STring; Text : string; DokumentenOrt : STring): Integer ;
var
Dokument : Tstringlist;
begin
  Dokument:= Tstringlist.Create;
  if (Text = 'Kein Dokument') then
  begin
    If not FileExists(DokumentenOrt) Then
      begin
        result := 1;
      end
    Else
    Result := 0;
  end
  Else
  result := 0;
  if not DirectoryExists(Pfad) then
    begin
      ForceDirectories(Pfad);
      Dokument.Add(Text);
      Dokument.SaveToFile(DokumentenOrt);
    end
  Else
    begin
      If not FileExists(DokumentenOrt) Then
      begin
        Dokument.Add(Text);
        Dokument.SaveToFile(DokumentenOrt);
      end;
    end;
  if (HilfsVar = 1) Then
    begin
      if (Dokument.Count = 0) then
       begin
          Dokument.Add(Text);
        Dokument.SaveToFile(DokumentenOrt);
      end;
   Dokument.Add('Ende') ;   
    end;
end;
ich übergebe doch als parameter genau das was gefragt ist odeR ?!
wo ist dann der fehler ?
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Probleme mit parametern

  Alt 3. Aug 2009, 22:12
Zitat von gangs-taas:
ich übergebe doch als parameter genau das was gefragt ist odeR ?!

Zitat von gangs-taas:
wo ist dann der fehler ?
Hier:

Delphi-Quellcode:
  prüfen(1,Woche,Text,Textdatei);

function TForm1.Prüfen(var HilfsVar: Integer;
Du übergibst als ersten Parameter einen festen Integerwert (Konstante). Wie soll der Variablel (geändert Wert wird zurückgegeben) sein?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von FaTaLGuiLLoTiNe
FaTaLGuiLLoTiNe

Registriert seit: 3. Jul 2004
Ort: NRW
55 Beiträge
 
Delphi XE Enterprise
 
#3

Re: Probleme mit parametern

  Alt 3. Aug 2009, 22:14
Du darfst für einen var-Parameter (hier: HilfsVar) keine Konstanten (hier: 1) übergeben.

2 Möglichkeiten zur Fehlerbehebung:

- Du deklarierst den Parameter nicht als var-Parameter. Brauchst du in diesem Fall ja auch nicht, weil du die Variable ja innerhalb der Funktion gar nicht änderst.

- Du deklarierst dir ausserhalb der Funktion eine weitere Variable, weist ihr den Wert 1 zu und übergibst sie anstelle der konstanten 1 an die Funktion.

Davon mal abgesehen solltest du Variablen wenn irgend möglich nicht global deklarieren (hier: Zwischenspeicher, Zwischenspeicher2, Textdatei usw.). Je grösser dein Programm wird, desto öfter wirst du von verschiedenen Punkten des Programms aus auf diese Variablen zugreifen, und desto unübersichtlicher und damit fehleranfälliger wird das Programm.
Christian
<< FaTaLGuiLLoTiNe >>
Rhinoceroses don't play games!
  Mit Zitat antworten Zitat
gangs-taas

Registriert seit: 24. Mär 2009
364 Beiträge
 
#4

Re: Probleme mit parametern

  Alt 3. Aug 2009, 22:21
okay
danke
  Mit Zitat antworten Zitat
Antwort Antwort


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 18:02 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