![]() |
Struktur einer Class
Hallo,
ich schreibe an einer eigenen classe, jedoch bin ich atm etwas rat los... also meine class:
Delphi-Quellcode:
wie ihr seht, werden in der kallse neue variablen typen deklariert ( Game, GameList uws... ) wie kann ich die in der HauptForm nutzen, bzw, wo müssen wie stehen, damit es functioniert. auserdem wie kann ich die functionen benutzen?
unit MyClass;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, IdHTTP; const Host = ''; Port = ''; type GameList = string; GameItem = string; Game = array of string; Games = array of GameItem; THack = class(TObject) HTTP: TIdHTTP; function GetGameList(): GameList; function AnalysGameList(List:GameList): Games; function GetGameNames(List:GameList): string; private { Private-Deklarationen } public { Public-Deklarationen } end; implementation function THack.GetGameList(): GameList; var list: GameList; begin //laden der GameList vom Server try list := HTTP.Get(Host + '/server/login.php?action=list'); except list := 'Error: IdHTTP - Fehler'; end; Result := list; end; function THack.AnalysGameList(List:GameList): Games; var item: GameItem; items: Games; I: integer; begin //liest die Spiellieste aus und gibt alle spile in einer array zurück I := 0; while Pos(#13#10,List) <> 0 do begin item := copy(List,0,Pos(#13#10,List)); if not ( item = 'BOF' ) OR not ( item = 'EOF' ) then begin items[I] := item; List := copy(List,Pos(#13#10,List),Length(List)); I := I + 1; end; end; Result := items; end; function THack.GetGameNames(List: GameList): string; var I: integer; item: GameItem; items: string; begin //liest die Spiellieste aus und gibt alle spile in einem string zurück I := 0; while Pos(#13#10,List) <> 0 do begin item := copy(List,0,Pos(#13#10,List)); if not ( item = 'BOF' ) OR not ( item = 'EOF' ) then begin items := items + item + #13#10; List := copy(List,Pos(#13#10,List),Length(List)); I := I + 1; end; end; Result := items; end; end. Desmulator [edit=Phoenix]Sorry, aber das überflüssige c im Titel in Struktur hat echt wehgetan. Mfg, Phoenix[/edit] |
Re: Strucktur einer Class
Die Implementierung weicht vom Interface ab, entweder du nennst die klasse überall TBlubb oder THack.
Um die Klasse verwenden zu können musst du eine Instanz erzeugen; entweder global/lokal in der Unit oder als Member deiner Form-Klasse. |
Re: Struktur einer Class
Zitat:
Zitat:
|
Re: Struktur einer Class
Anstatt dich selber mit Stringverarbeitung zu quälen, würde ich dir empfehlen, die "Gamelists" als INI-Dateien bereitzustellen und mit Hilfe der Klasse TIniFile auszuwerten.
Profis würden eine XML-Datei anstelle der INI-Datei verwenden; aber das ist nichts für Beginner. |
Re: Struktur einer Class
Einfach in der Deklaration der Form
Delphi-Quellcode:
einfügen
Hack: THack;
und im onCreate
Delphi-Quellcode:
aufrufen
Hack := THack.Create;
|
Re: Struktur einer Class
leider kommt die datei von einem server, der nicht mir gehört, ich schreibe nur ein tool, daher kann ich die formatierung der serverausgabe nicht in die einer ini ändern...
EDIT: O.K. jetzt geht alles, aber warum muss ich das bei denn anderen unit's, welche ja auch classen enthalten nicht machen? und wie kann ich eine datei über idHTTP anfordern, aber kein formular habe? |
Re: Struktur einer Class
Zitat:
Wie sehen denn die Daten aus (Beispiel)? Ich wette, die Klasse TStringList kann deine Klasse THack fast vollständig ersetzen. |
Re: Struktur einer Class
@shmai:
BOF L:80.136.122.156|Desmulator|17:24:25|0.30|6|Tourna ment|7666|Tournament|1|1020|24978488 EOF |
Re: Struktur einer Class
Geht problemlos mit einer Stringliste
Delphi-Quellcode:
var
sl: TStrings; ... sl := TStringList.Create; sl.Delimiter = '|'; sl.DelimitedString = s; Ip := sl.Strings[0] ; ... |
Re: Struktur einer Class
ich will aber nicht nur diese eine funktion da drin haben, sondern da kommt noch viel mehr, auserdem will ich lernen und mich nicht an sämtliche units stützen, vondenen ich nachher eh nicht mehr weis welche wofür war...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:41 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz