AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Konstantenobjekt ?

Ein Thema von Lotus · begonnen am 26. Jun 2007 · letzter Beitrag vom 26. Jun 2007
Antwort Antwort
Seite 1 von 2  1 2   
Lotus

Registriert seit: 26. Feb 2007
85 Beiträge
 
Delphi 7 Personal
 
#1

Konstantenobjekt ?

  Alt 26. Jun 2007, 18:15
nun ich würde gerne noch mal eine frage stellen:

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
var wort2,ka:string;
i:integer;
begin
inc(merker);
wort2:=AnsiLowerCase(e2.Text);

if wort=wort2 then
loesung.Caption:='Gewonnen!!!'
else if (wort2 < wort) then begin
        for i:=1 to length(wort2) do begin
                if (wort2[i]=wort[i]) then insert(ka,wort2[i],1)
                else showmessage('nee');
                end;

        end
end;
er sagt mir, das das mit dem insert so nicht klappt, wegen diesem konstantenobjetk, wahrscheinlich wort2[i].. wisst ihr vllt wie ich das umgehn kann? bzw sagen kann welchen buchstaben er dann einfügen soll?
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Globale Variable greift nicht zu?

  Alt 26. Jun 2007, 18:17
Du hast in beiden Prozeduren noch eine lokale Variable deklariert, auf die im Zweifelsfall zugegriffen wird. Schmeiß diese Deklarationen raus! Eine globale Variable wird nur einmal deklariert.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Lotus

Registriert seit: 26. Feb 2007
85 Beiträge
 
Delphi 7 Personal
 
#3

Re: Globale Variable greift nicht zu?

  Alt 26. Jun 2007, 18:41
dann kommt ja folgender fehler

Delphi-Quellcode:
[Fehler] Unit1.pas(47): Inkompatible Typen: 'TLabel' und 'TCaption'
[Fehler] Unit1.pas(58): Inkompatible Typen: 'TLabel' und 'String'
[Fehler] Unit1.pas(68): Inkompatible Typen: 'String' und 'TLabel'
[Fataler Fehler] Project2.dpr(5): Verwendete Unit 'Unit1.pas' kann nicht compiliert werden
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Globale Variable greift nicht zu?

  Alt 26. Jun 2007, 18:43
Was steht den in den entsprechenden Zeilen?
Markus Kinzler
  Mit Zitat antworten Zitat
Lotus

Registriert seit: 26. Feb 2007
85 Beiträge
 
Delphi 7 Personal
 
#5

Re: Globale Variable greift nicht zu?

  Alt 26. Jun 2007, 18:45
für den ersten fehler steht
"wort:=e1.Text;"

für den zweiten
"wort:='';" <-- das steht in der Formcreate

und dritter fehler
"showmessage(wort);"

halt alles mit der variable wort..
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Globale Variable greift nicht zu?

  Alt 26. Jun 2007, 18:47
Versuch mal:
wort:=e1.Caption;
Markus Kinzler
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Globale Variable greift nicht zu?

  Alt 26. Jun 2007, 18:49
Hallo,

häng mal pas und dfm als Anhang an,
du machst irgendwas anderes verkehrt.

Asserdem wäre es sinnvoll, die Komponentennamen aussagekräftig
zu benennen

z.B. Edit_Name, Label_bla (naja )


Heiko
Heiko
  Mit Zitat antworten Zitat
Lotus

Registriert seit: 26. Feb 2007
85 Beiträge
 
Delphi 7 Personal
 
#8

Re: Globale Variable greift nicht zu?

  Alt 26. Jun 2007, 18:52
nein, e1 ist ein Edit fehlt, da gibts keine captions.. daran liegts leider nicht..

Hier vllt noch mal den gesammten Code
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    e1: TEdit;
    e2: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Button1: TButton;
    Button2: TButton;
    Label3: TLabel;
    anzahl: TLabel;
    wort: TLabel;
    Button3: TButton;
    procedure Button3Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;
  wort:string;
  merker:integer;

implementation

{$R *.dfm}

procedure TForm1.Button3Click(Sender: TObject);
begin
close;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
wort:=e1.Text;
Button1.Enabled:=false;
Button2.Enabled:=true;
e1.Text:='########';
e1.Enabled:=false;
e2.Enabled:=true;

end;

procedure TForm1.FormCreate(Sender: TObject);
begin
wort:='';
merker:=0;
end;

procedure TForm1.Button2Click(Sender: TObject);
var wort2:string;
begin
inc(merker);
showmessage(inttostr(merker));
wort2:=e2.Text;
showmessage(wort);
showmessage(wort2);
end;

end.
und die dfm
Delphi-Quellcode:
object Form1: TForm1
  Left = 188
  Top = 21
  Width = 786
  Height = 541
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  OnCreate = FormCreate
  PixelsPerInch = 96
  TextHeight = 13
  object Label1: TLabel
    Left = 32
    Top = 32
    Width = 38
    Height = 13
    Caption = 'Player 1'
  end
  object Label2: TLabel
    Left = 32
    Top = 64
    Width = 38
    Height = 13
    Caption = 'Player 2'
  end
  object Label3: TLabel
    Left = 16
    Top = 112
    Width = 35
    Height = 13
    Caption = 'Anzahl:'
  end
  object anzahl: TLabel
    Left = 72
    Top = 112
    Width = 3
    Height = 13
  end
  object wort: TLabel
    Left = 360
    Top = 64
    Width = 3
    Height = 13
  end
  object e1: TEdit
    Left = 96
    Top = 32
    Width = 121
    Height = 21
    TabOrder = 0
  end
  object e2: TEdit
    Left = 96
    Top = 64
    Width = 121
    Height = 21
    Enabled = False
    TabOrder = 1
  end
  object Button1: TButton
    Left = 232
    Top = 32
    Width = 89
    Height = 25
    Caption = 'Wort speichern'
    TabOrder = 2
    OnClick = Button1Click
  end
  object Button2: TButton
    Left = 232
    Top = 64
    Width = 89
    Height = 25
    Caption = 'Wort erraten'
    Enabled = False
    TabOrder = 3
    OnClick = Button2Click
  end
  object Button3: TButton
    Left = 528
    Top = 304
    Width = 75
    Height = 25
    Caption = 'Beenden'
    TabOrder = 4
    OnClick = Button3Click
  end
end
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Globale Variable greift nicht zu?

  Alt 26. Jun 2007, 18:54
Du hast sowohl ne Komponente wie ein Variable mit der Bezeichnung Wort. er nimmt aber die Komponente anstatt der lokalen Variable.
Markus Kinzler
  Mit Zitat antworten Zitat
Lotus

Registriert seit: 26. Feb 2007
85 Beiträge
 
Delphi 7 Personal
 
#10

Re: Globale Variable greift nicht zu?

  Alt 26. Jun 2007, 18:58
omG ja.. das hatte ich völlig vergessen, das ist vielleicht eine verflixte sache! tut mir leid das ich euch wegen so einem problem belästigen musste >.<

jetzt klappts natürlich auch.. vielen dank!

ps.: allerdings doof das delphi dort nicht mal einen besseren hinweis hätte geben können ~.~
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 12:15 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