Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TObject und String -Inkompatible Typen (https://www.delphipraxis.net/114708-tobject-und-string-inkompatible-typen.html)

urgus 29. Mai 2008 22:27


TObject und String -Inkompatible Typen
 
Hallo,

folgendes Problem hat sich nach langer Suche immer noch nicht gelöst: Ich habe ein Programm, welches eingegebene Wörter in einer Linearen Liste suchen soll.

Delphi-Quellcode:
function TLinList.searchItem(Token:TObject):boolean;
  begin
  result:= false;
    while not isBehind do
    begin
      if getItem = Token //hier liegt das Problem, da getItem ein TObject zurückliefert
      then begin
             result := true;
             toLast;
           end;
    end;
  end;
Aber den Token gibt der Benutzer als String ein. Meine Frage ist nun: wie kann man String in TObject umwandeln, oder andersherum?

lg urgus

grenzgaenger 29. Mai 2008 22:31

Re: TObject und String -Inkompatible Typen
 
wie gibt denn der user 'n instanziertes objekt ein?

sorry, versteh ich irgendwie nicht...

urgus 29. Mai 2008 22:37

Re: TObject und String -Inkompatible Typen
 
Zitat:

Zitat von grenzgaenger
wie gibt denn der user 'n instanziertes objekt ein?

sorry, versteh ich irgendwie nicht...

Naja er gibt halt über ein Edit einen Text an, der dann als 'Token' gespeichert wird, und dann an die function geschickt.
Delphi-Quellcode:
a := Form1.Edit1.Text;
wahroderfalsch := searchItem(a);
Ich hoffe ich habs klar genug beschrieben :)

lg urgus

grenzgaenger 29. Mai 2008 22:51

Re: TObject und String -Inkompatible Typen
 
wie ist denn deine lineare liste aufgebaut?

wenn dein user 'n text eingibt, dann hast du doch 'n string, welchen du zur suche verwenden kannst ...

in aller regel macht man das folgendermassen

Delphi-Quellcode:
if assigned(list.indexof(edit.text)) then ... //gefunden...
von daher kommt mir das alles 'n biserl spanisch vor ... und ohne http://dp.matthias-hielscher.de/dp_glaskugel2.gif kann man dazu nicht wirklich viel sagen...


vielleicht postest du mal etwas mehr, von deiner ominösen liste...

schönen abend GG

urgus 29. Mai 2008 23:00

Re: TObject und String -Inkompatible Typen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Also eigentlich spielt die Liste keine rolle, es geht mir nur darum wie ich einer function, die ein TObject erwartet, ein String unterschieben kann, bzw. die Typen so umwandeln das es passt. naja ich glaube hier denken 2 aneinander vorbei :) Danke trotzdem dass du dich mit dem problem befasst :)

lg urgus

Luckie 29. Mai 2008 23:04

Re: TObject und String -Inkompatible Typen
 
Zitat:

Zitat von urgus
Aber den Token gibt der Benutzer als String ein. Meine Frage ist nun: wie kann man String in TObject umwandeln, oder andersherum?

Wenn Token ein String ist, dann dürfte schon alleine der Funktonsaufruf nicht funktionieren mit der bisherigen Deklaration:
Delphi-Quellcode:
function TLinList.searchItem(Token:TObject):boolean;
Hier ist nämlich Token ein TObject.

urgus 29. Mai 2008 23:10

Re: TObject und String -Inkompatible Typen
 
Das ist ja gerade der Punkt. Aber wie kann ich es sonst machen?
Delphi-Quellcode:
(Token as TObject)
geht ja nicht.

lg urgus

grenzgaenger 29. Mai 2008 23:10

Re: TObject und String -Inkompatible Typen
 
sag mal, wieso nimmste nicht 'ne stringlist?

da gehts doch so, wie ich sagte...


im übrigen, was du da hast, ist eine verkettete liste, wo deine einzelnen elemente wiederum objekte sind, welche objekte aufnehmen...

wenn du da einigermassen suchen willst, nach groben überfliegen, musst du dir beim erstellen, am besten die pointer merken und dann für die suche darauf referenzieren, damit er sich langsam an der liste entlang hangeln kann...

btw: was soll das werden? 'ne hausaufgabe?

Nachtrag: wie kommen deine strings in die liste?

urgus 29. Mai 2008 23:24

Re: TObject und String -Inkompatible Typen
 
Zitat:

sag mal, wieso nimmste nicht 'ne stringlist?
Weil wir mit der zentralabi-Liste arbeiten müssen :(

Zitat:

btw: was soll das werden? 'ne hausaufgabe?
jein, wir sollen einen Compiler schreiben, der einfache Sätze versteht. Und ich hake halt an der Stelle hier... Naja ich werd mal meinen lehrer fragen, der wird schon wissen was er will :) Vielen Dank für die hilfe :)

lg urgus


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:30 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-2025 by Thomas Breitkreuz