AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Record, Objekt oder Klassentyp erforderlich
Thema durchsuchen
Ansicht
Themen-Optionen

Record, Objekt oder Klassentyp erforderlich

Offene Frage von "Tumor666m"
Ein Thema von Tumor666m · begonnen am 29. Okt 2006 · letzter Beitrag vom 30. Okt 2006
Antwort Antwort
Seite 2 von 2     12   
Tumor666m

Registriert seit: 27. Okt 2006
Ort: Zerbst
7 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: Record, Objekt oder Klassentyp erforderlich

  Alt 30. Okt 2006, 00:14
Delphi-Quellcode:
unit Sprechstunde;

interface

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

type
  TForm1 = class(TForm)
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    GroupBox3: TGroupBox;
    Button1: TButton;
    Button2: TButton;
    Edit1: TEdit;
    Panel1: TPanel;
    ScrollBar1: TScrollBar;
    MainMenu1: TMainMenu;
    Datei1: TMenuItem;
    Oeffnen1: TMenuItem;
    Speichern1: TMenuItem;
    Drucken1: TMenuItem;
    Ende1: TMenuItem;
    OpenDialog1: TOpenDialog;
    SaveDialog1: TSaveDialog;
    procedure FormCreate(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure ScrollBar1Change(Sender: TObject);
    procedure Oeffnen1Click(Sender: TObject);
    procedure Speichern1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;
const
  Max = 10;
var
  Form1: TForm1;
  Diagnose: Array[1..Max] of String;
  Nr: Integer;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  randomize;
  Diagnose[1] := 'Him...';
  Diagnose[2] := 'Das ist ein Ding!';
  Diagnose[3] := 'Siehmal an!';
  Diagnose[4] := 'Was soll ich sagen?';
  Diagnose[5] := 'Tatsächlich?';
  Diagnose[6] := 'So geht es dir aso.';
  Diagnose[7] := 'Du hast Probleme.';
  Diagnose[8] := 'Das kann ich verstehen.';
  Diagnose[9] := 'Ich bin Sprachlos';
  Diagnose[10]:= 'Na Ja...';
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  Nr := random (Max) + 1;
  Panel1.Caption := Diagnose[Nr];
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Panel1.Caption := '';
  Edit1.Text := '';
  Edit1.SetFocus;
end;

procedure TForm1.ScrollBar1Change(Sender: TObject);
begin
  Panel1.Caption := Diagnose[ScrollBar1.Position];
  ScrollBar1.Min := 1;
  ScrollBar1.Max := Max;
end;

procedure TForm1.Oeffnen1Click(Sender: TObject);
begin
  try
    if OpenDialog1.Execute then
      Diagnose.LoadFromFile(OpenDialog1.FileName);
    ScrollBar1.Max = Diagnose.Count - 1;
   except
      ShowMessage ('Fehler beim Öffnen der Datei!');
  end;
end;

procedure TForm1.Speichern1Click(Sender: TObject);
begin
  try
    if SaveDialog1.Execute then
      Psycho.SaveToFile (SaveDialog1.FileName);
   except
      ShowMessage ('Fehler beim Speichern der Datei!');
end;

end.

Fehlermeldungen:
[Fehler]Sprechstunde.pas[88]Record, Objekt oder Klassentyp erforderlich
[Fehler]Sprechstunde.pas[89]':=' erwartet aber '=' gefunden
[Fehler]Sprechstunde.pas[89]Operator oder Semikolon fehlt
[Fehler]Sprechstunde.pas[104] ";" erwartet aber "." gefunden
[Fehler]Sprechstunde.pas[106]Deklaration erwartet, aber Dateiende gefunden
[Fataler Fehler]Project2.dpr[5] Verwendete Unit 'Sprechstunde.pas`kann nicht compiliert werden


Das ist alles was da steht .

Für Hilfe bedanke ich mich schon im voraus
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#12

Re: Record, Objekt oder Klassentyp erforderlich

  Alt 30. Okt 2006, 00:28
Kein Wunder: Diagnose ist auch ein array of String. Das kannst du nicht aus einer Datei laden. Jedenfalls nicht so, wie du denkst.

Mache es einfach zu einer TStringList und füge ins OnCreate der Form ein:

Diagnose:=TStringList.Create; Und ins OnDestroy:

Diagnose.Free; EDIT: Achja, und eine StringList ist dann auch nullbasiert, das heißt das erste Element hat den Index 0. Was ist das denn eigentlich für ein komisches Buch, in dem so ein (entschuldigung) Mist steht?
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Tumor666m

Registriert seit: 27. Okt 2006
Ort: Zerbst
7 Beiträge
 
Delphi 7 Enterprise
 
#13

Re: Record, Objekt oder Klassentyp erforderlich

  Alt 30. Okt 2006, 00:35
Danke dir

Nur wo schreibe ich das hin ? <<< Blöde is *denk
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#14

Re: Record, Objekt oder Klassentyp erforderlich

  Alt 30. Okt 2006, 00:36
Aaalso...

Auf die Form klicken, im Objektinspektor auf "Ereignisse", "OnCreate", den Code einfügen, "OnDestroy" klicken, den anderen Code einfügen, fertig.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Tumor666m

Registriert seit: 27. Okt 2006
Ort: Zerbst
7 Beiträge
 
Delphi 7 Enterprise
 
#15

Re: Record, Objekt oder Klassentyp erforderlich

  Alt 30. Okt 2006, 00:47
Habe ich bei beiden gemacht nur kommt wenn ich nach dem eintragen das nächste auswählen möchte nen fehler der Lautet Diagnose:=TStringList.Create; ist kein gültiger bezeichner. Das gleiche wenn ich auf OnDestroy geh
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#16

Re: Record, Objekt oder Klassentyp erforderlich

  Alt 30. Okt 2006, 00:49
Hast du die Deklaration von Diagnose von array of String auf TStringList geändert?
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Tumor666m

Registriert seit: 27. Okt 2006
Ort: Zerbst
7 Beiträge
 
Delphi 7 Enterprise
 
#17

Re: Record, Objekt oder Klassentyp erforderlich

  Alt 30. Okt 2006, 00:51
nein

Also schreib ich da jetzt Diagnose: Array[1..Max] TStringList; hin ?
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#18

Re: Record, Objekt oder Klassentyp erforderlich

  Alt 30. Okt 2006, 00:58
Nein.

Du schreibst hin:
Diagnose: TStringList; EDIT: Nicht böse gemeint, aber am besten wäre es wohl, du schaust dir nochmal die Grundlagen von Delphi an. Ich habe stark das Gefühl, dass du in der Mitte anfängst, und nicht am Anfang. Ich spreche aus Erfahrung, ich habe den gleichen Fehler gemacht.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
xaromz

Registriert seit: 18. Mär 2005
1.682 Beiträge
 
Delphi 2006 Enterprise
 
#19

Re: Record, Objekt oder Klassentyp erforderlich

  Alt 30. Okt 2006, 00:58
Hallo,
Zitat von Tumor666m:
Also schreib ich da jetzt Diagnose: Array[1..Max] TStringList; hin ?
Nein, TStringList ist eine Klasse, die intern eine Liste verwaltet. Du musst also nur noch
Diagnose: TStringList; schreiben.

Bei der Gelegenheit solltest Du auch gleich mal in der Hilfe nachsehen und Dir die ganzen Methoden dieser Klasse ansehen. Da kannst Du sicher was lernen. Überhaupt ist die Hilfe eine unschätzbare... nun ja, Hilfe .

Gruß
xaromz
I am a leaf on the wind - watch how I soar
  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 16:40 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