Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Array of String wird nicht als solches erkannt (https://www.delphipraxis.net/162391-array-string-wird-nicht-als-solches-erkannt.html)

St0rmhunter 20. Aug 2011 21:17

AW: Array of String wird nicht als solches erkannt
 
Liste der Anhänge anzeigen (Anzahl: 1)
@EWeiss Ja bin ich auch dafür ... wenn man ihn fragt ob er ne Idee hat was im Programm fürn Fehler sein könnte sagt er immer da ist wohl ein Fehler im Quelltext und meint man schafft das schon selbst -.-

@himitsu hab das "for j:=0 to length(temp1) do" jetzt durch "for j:=0 to (length(temp1)-1) do" ersetzt und jetzt klappts =) danke für den Hinweis mit den Arrays. =)

Im Anhang jetzt der funktionierende Cäsar-Coder v1.0, die exe und alle Projektdateien.

himitsu 20. Aug 2011 21:23

AW: Array of String wird nicht als solches erkannt
 
Temp1 ist ein String.

Lies also nochmal genau nach.
PS: Genau solche Fehler könnte man über eine Indexprüfung entdecken.

DeddyH 21. Aug 2011 10:11

AW: Array of String wird nicht als solches erkannt
 
Und noch ein Tipp: wenn man Arrays immer von Low() bis High() durchläuft, kann einem die Indexierung egal sein.
Delphi-Quellcode:
var
  Bla: array[10..20] of string; //Low = 10, High = 20, Length = 11
  Blubb: array[0..9] of integer; //Low = 0, High = 9, Length = 10
  Wuppdi: array of char; //Low = 0, High = -1, Length = 0

SetLength(Wuppdi, 10); //Low = 0, High = 9, Length = 10

EWeiss 21. Aug 2011 11:57

AW: Array of String wird nicht als solches erkannt
 
Zitat:

Zitat von DeddyH (Beitrag 1118413)
Und noch ein Tipp: wenn man Arrays immer von Low() bis High() durchläuft, kann einem die Indexierung egal sein.
Delphi-Quellcode:
var
  Bla: array[10..20] of string; //Low = 10, High = 20, Length = 11
  Blubb: array[0..9] of integer; //Low = 0, High = 9, Length = 10
  Wuppdi: array of char; //Low = 0, High = -1, Length = 0

SetLength(Wuppdi, 10); //Low = 0, High = 9, Length = 10

OT
Wuppdi ist gut ;)
Konnte es mir nicht verkneifen.

gruss

USchuster 21. Aug 2011 13:21

AW: Array of String wird nicht als solches erkannt
 
Zitat:

Zitat von St0rmhunter (Beitrag 1118287)
@USchuster Respekt man sieht du hast ahnung ^^ aber für mich war das etwas zu kompliziert hab noch nicht lange informatik kenne also noch nicht so viele Begriffe. Ich sag mal ich hab nur Bahnhof verstanden^^ trotzdem danke ;)

Bzgl. dem Bahnhof meinst Du bestimmt Scopeproblem. Es wurde im Prinzip schon erklärt und bedeutet das es einen Namenskonflikt gibt - der Compiler nimmt einen anderen Bezeichner als vom Programmierer beabsichtigt. Für Bezeichner gibt es verschiedene Gültigkeitsbereiche und sofern man die Bezeichner nicht genauer definiert/qualifiziert, dann wird jeweils der, wie von himitsu geschrieben, "nähere" Bezeichner verwendet.

Das folgendes Beispiel erklärt das vielleicht auch
Delphi-Quellcode:
program ScopeDemo;

{$APPTYPE CONSOLE}

uses
  Controls;

var
  Text: string = 'Globale Variable Text';

type
  TFoo = class(TControl)
  public
    procedure Test;
  end;

{ TFoo }

procedure TFoo.Test;
var
  Text: string;
begin
  WriteLn(Self.Text);
  Text := 'Variable Text in TFoo.Test';
  WriteLn(Text);
  WriteLn(ScopeDemo.Text);
end;

var
  Foo: TFoo;
begin
  Foo := TFoo.Create(nil);
  try
    Foo.Text := 'Property TControl.Text';
    Foo.Test;
  finally
    Foo.Free;
  end;
  ReadLn;
end.
Das sollte folgenden Output erzeugen
Code:
Property TControl.Text
Variable Text in TFoo.Test
Globale Variable Text
Vielleicht hilft auch dieser Link weiter Deklarationen und Anweisungen (Delphi) | Namenskonflikte.

St0rmhunter 21. Aug 2011 13:44

AW: Array of String wird nicht als solches erkannt
 
Ok denke mal habs jetzt verstanden :-D :thumb:

@DeddyH danke für den Tipp :), werds mir merken.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:38 Uhr.
Seite 2 von 2     12   

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