AGB  ·  Datenschutz  ·  Impressum  







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

Struktur einer Class

Ein Thema von Desmulator · begonnen am 14. Aug 2007 · letzter Beitrag vom 14. Aug 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Desmulator
Desmulator

Registriert seit: 3. Mai 2007
Ort: Bonn
169 Beiträge
 
#1

Struktur einer Class

  Alt 14. Aug 2007, 16:50
Hallo,
ich schreibe an einer eigenen classe, jedoch bin ich atm etwas rat los...

also meine class:
Delphi-Quellcode:
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.
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?

Desmulator

[edit=Phoenix]Sorry, aber das überflüssige c im Titel in Struktur hat echt wehgetan. Mfg, Phoenix[/edit]
Lars
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Strucktur einer Class

  Alt 14. Aug 2007, 16:59
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.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Desmulator
Desmulator

Registriert seit: 3. Mai 2007
Ort: Bonn
169 Beiträge
 
#3

Re: Struktur einer Class

  Alt 14. Aug 2007, 17:08
Zitat:
Die Implementierung weicht vom Interface ab, entweder du nennst die klasse überall TBlubb oder THack.
Oh, das war ncoh ein überrest eines testes... Ich habs editiert...

Zitat:
Um die Klasse verwenden zu können musst du eine Instanz erzeugen; entweder global/lokal in der Unit oder als Member deiner Form-Klasse.
Leider bin ich noch ein ziemlicher noob, in sachen classen schreiben, kannst du mir das anhand eines beispiels zeigen? kann auch nur ein link sein...
Lars
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#4

Re: Struktur einer Class

  Alt 14. Aug 2007, 17:13
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.
Andreas
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Struktur einer Class

  Alt 14. Aug 2007, 17:14
Einfach in der Deklaration der Form
 Hack: THack; einfügen

und im onCreate
   Hack := THack.Create; aufrufen
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Desmulator
Desmulator

Registriert seit: 3. Mai 2007
Ort: Bonn
169 Beiträge
 
#6

Re: Struktur einer Class

  Alt 14. Aug 2007, 17:16
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?
Lars
  Mit Zitat antworten Zitat
shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#7

Re: Struktur einer Class

  Alt 14. Aug 2007, 17:22
Zitat von Desmulator:
leider kommt die datei von einem server, der nicht mir gehört, ...
Na gut, dann verwende die Klasse TStringList. Damit bleibt dir das Zerlegen der Daten in einzelne Zeilen erspart.
Wie sehen denn die Daten aus (Beispiel)?
Ich wette, die Klasse TStringList kann deine Klasse THack fast vollständig ersetzen.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Desmulator
Desmulator

Registriert seit: 3. Mai 2007
Ort: Bonn
169 Beiträge
 
#8

Re: Struktur einer Class

  Alt 14. Aug 2007, 17:25
@shmai:

BOF
L:80.136.122.156|Desmulator|17:24:25|0.30|6|Tourna ment|7666|Tournament|1|1020|24978488
EOF
Lars
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

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

Re: Struktur einer Class

  Alt 14. Aug 2007, 17:28
Geht problemlos mit einer Stringliste

Delphi-Quellcode:
var
    sl: TStrings;
...
  sl := TStringList.Create;
  sl.Delimiter = '|';
  sl.DelimitedString = s;
  Ip := sl.Strings[0] ;
...
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Desmulator
Desmulator

Registriert seit: 3. Mai 2007
Ort: Bonn
169 Beiträge
 
#10

Re: Struktur einer Class

  Alt 14. Aug 2007, 17:31
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...
Lars
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 04:29 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