Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi brauche hilfe zu suchen un dsortieren in delphi (https://www.delphipraxis.net/58715-brauche-hilfe-zu-suchen-un-dsortieren-delphi.html)

sandrachen 11. Dez 2005 14:58


brauche hilfe zu suchen un dsortieren in delphi
 
hallo, mein problem ist das: ich soll eine programm entwickeln bei dem nach gesuchten gesucht wird, un das soll dann sortiert ausgegeben werden. so ansich nicht schwer... doch... ich gebe beispielsweise ein: OG, da ja nach einem bildungsgang gesucht wird, aber er gibt dann nicht Og aus, sondern alle anderen und oG und unbekannt löscht er!!! was amch ich falsch??? bitte dringend hilfe.... abgabe ist mttwoch

thx :( sandra

[edit=sakura] Delphi 6 ist eine Delphi Win32 Version. Mfg, sakura[/edit]

Waldteufel 11. Dez 2005 15:01

Re: brauche hilfe zu suchen un dsortieren in delphi
 
Hi.

Ähm... Woher soll irgendjemand sagen, was du falsch machst, wenn du uns nicht sagts, was du überhaupt machst. Zeig also mal den Code, dann wirds einfacher.

zecke 11. Dez 2005 15:04

Re: brauche hilfe zu suchen un dsortieren in delphi
 
Bei der Formulierung immer ruhig bleiben ;) und etwas genauer beschreiben was das Problem ist, ich habe nämlich nichts verstanden :mrgreen:

sandrachen 11. Dez 2005 15:07

Re: brauche hilfe zu suchen un dsortieren in delphi
 
das problem ist, dass wir ein prog erstellen sollen, welches nach der eingabe von selbst erstellten ds diese nach bestimmten krieterien suchen soll, aber vorher sortieren.
beispiel, wir sollen nach bildungsgängen suchen, also gebe ich ein, OG und er soll mir alle mittglider der Og ausgeben, macht er aber nicht, er löscht diese und gibt nur den rest uas und unbekannt. oki?

malo 11. Dez 2005 15:09

Re: brauche hilfe zu suchen un dsortieren in delphi
 
Mein Auto ist kaputt. Kannst du es reparieren?


Bitte zeig uns dochmal den Quelltext, damit wir dein Problem evtl. nachvollziehen können ;)

zecke 11. Dez 2005 15:10

Re: brauche hilfe zu suchen un dsortieren in delphi
 
Wo suchst Du? Wie suchst Du? Mit was suchst Du? Mehr fällt mir gerade nicht ein. Gibt viele Möglichkeiten.

btw: Herzlich Willkommen in der DP :party:

ps: Code ist wirklich hilfreich wie Waldteufel erwähnte

edit: und wie malo jetzt auch erwähnte :mrgreen:

sandrachen 11. Dez 2005 15:11

Re: brauche hilfe zu suchen un dsortieren in delphi
 
quelltext.....

Delphi-Quellcode:
function vBildGang(bgang:string) : string;
 var index: char;
 bild:string;
begin
  index:=bgang[1];
  case index of
    '1'     : bild:='OG';
    '2'     : Bild:='BOS';
    '4'     : Bild:='OF';
    '5'     : Bild:='OBF';
    '6'..'9' : bild:='OB';
    else bild:='x ' ;
    if bild='x'
    then showmessage('Bildungsgang ist unbekannt!');
  end;
  vbildgang:=bild

end;

procedure TOszVerwalt.btsuchenClick(Sender: TObject);
var s,vergleich,ebg,bgang:string;
    i,a: integer;
begin

 edbildgang.text:=ebg;
 with libanzeige do begin
 for i := 1 to libanzeige.Items.Count do
 s:=libanzeige.Items[i];
       s:=libAnzeige.Items[libAnzeige.ItemIndex];
 a:=pos('. ',s) ;
 delete(s,1,a+2) ;
 bgang:=s;
 vergleich:=vbildgang(bgang);
 if vergleich<>ebg
  then libanzeige.Items.Delete(i);

oder---------------------------------------------------------------------



Delphi-Quellcode:
function Ansicomparetext(s1,s2:string):integer;
var blub:integer;
begin
blub:=ansicomparetext(s1,s2);
end;


procedure TOszVerwalt.btsuchenClick(Sender: TObject);
var s1,s2,alles, blub:string;
    i,z, x: integer;
begin
S1:=edbildgang.text;
repeat
alles:=libanzeige.items[i];
z:=pos('. ',alles) ;
delete(alles,1,z);
s2:=alles;
x:=Ansicomparetext(s1,s2);
if x <> 0
then libanzeige.items.Delete(i);
i:=i+1;
until i= libanzeige.Items.Count ;

 end;
und hier noch was.....

Delphi-Quellcode:
procedure TOszVerwalt.btsuchenClick(Sender: TObject);
var alles:string;
   z,i : integer;
begin
 i:=0 ;
repeat
alles:=libanzeige.items[i];
z:=pos('. ',alles) ;
delete(alles,1,z+2);
if libanzeige.items[i] <> edbildgang.text
then libanzeige.items.Delete(i);
i:=i+1;
until i= libanzeige.Items.Count ;
ich weiß dass ich doof bin , hab nur voll die panik.... :cry:

[edit=r_kerber]Ich habe da mal Delphi-Tags eingefügt, das nächste Mal bitte selbst machen. Mfg, r_kerber[/edit]

r_kerber 11. Dez 2005 15:12

Re: brauche hilfe zu suchen un dsortieren in delphi
 
Zitat:

Zitat von sandrachen
das problem ist, dass wir ein prog erstellen sollen, welches nach der eingabe von selbst erstellten ds diese nach bestimmten krieterien suchen soll

Was sind das für Datensätze? Datenbank? Text-Datei? XML? StringList? Oder, oder, oder?

sandrachen 11. Dez 2005 15:14

Re: brauche hilfe zu suchen un dsortieren in delphi
 
hmmmmm.... gute frage.... ich denke mal es sind strings.... ist doch ne zeichenkette

zecke 11. Dez 2005 15:14

Re: brauche hilfe zu suchen un dsortieren in delphi
 
Bitte in Delphi formatieren, dafür findest Du oben eine Funktionstaste "Delphi-Code", wenn Du einen Post schreibst. Ist sehr übersichtlich, aber was ins Auge fällt ist das delete(), welches öfter vorkommt, aber kann da noch nicht wirklich was erkennen.

malo 11. Dez 2005 15:20

Re: brauche hilfe zu suchen un dsortieren in delphi
 
Mir fällt auch diese Funktion auf:
Delphi-Quellcode:
function Ansicomparetext(s1,s2:string):integer;
var blub:integer;
begin
blub:=ansicomparetext(s1,s2);
end;
AnsiCompareText kenn ich nicht (gibt es den Borland-Units irgendwo?). Aber so wie das dort aussieht, ist das eine Endlosschleife, die immer nur in eine lokale Variable schreibt. :gruebel:

sandrachen 11. Dez 2005 15:26

Re: brauche hilfe zu suchen un dsortieren in delphi
 
Ansicomparetext vergleicht strings und unterscheidet nicht anch groß und kleinschreibung.....

noch mehr fragen? * :oops: *

malo 11. Dez 2005 15:41

Re: brauche hilfe zu suchen un dsortieren in delphi
 
Zitat:

Zitat von sandrachen
Ansicomparetext vergleicht strings und unterscheidet nicht anch groß und kleinschreibung.....

Und wieso redklarierst du die Funktion dann? Die hast du doch schon. Wieso eine weitere Funktion erstellen, die im Grunde nichts macht (denn deine Funktion vergleicht die Strings zwar, aber man kann das nirgendwo festlegen. Wenn, dann müsstest du die Variable blub durch "result" ersätzen (result musst du nicht deklarieren!). So in etwa:
Delphi-Quellcode:
function CmpText(s1,s2: string): integer;
begin
  result := AnsiCompareText(s1,s2);
end;
Alles andere wäre sinnlos. ;) ).

sandrachen 11. Dez 2005 15:46

Re: brauche hilfe zu suchen un dsortieren in delphi
 
ich mache es so, weil mein toller lehrer das so auf seinem ab gemahct hat und meinete das es auch mit result möglich wäre... hmmmm...

ManuMF 11. Dez 2005 16:01

Re: brauche hilfe zu suchen un dsortieren in delphi
 
Wenn du nach Fragmenten in einem String suchst, kannst du auch das verwenden:

Delphi-Quellcode:
if (Pos(Lowercase(Suchstring), Lowercase(Hauptstring)) = 0) then
  Showmessage('Nicht gefunden');
Da ist GROßklein auch unwichtig.

Gruß,
ManuMF

sandrachen 11. Dez 2005 16:08

Re: brauche hilfe zu suchen un dsortieren in delphi
 
das problem ist ja auch, dass das noch nicht einmal funktioniert, denn er achtet auf groß und kleinschreibung....

hat sich jetzt einer das ganze gebilde schon einmal genauer angeguckt und einen grawierenden fehler gefunden warum er nun das falsche ausgibt?

thx sandra :coder:

malo 11. Dez 2005 16:27

Re: brauche hilfe zu suchen un dsortieren in delphi
 
Zitat:

Zitat von sandrachen
das problem ist ja auch, dass das noch nicht einmal funktioniert, denn er achtet auf groß und kleinschreibung....

Bei Manus Methode ganz sicher nicht. Denn da wird alles in Kleinbuchstaben umgewandelt und dann verglichen. Lowercase('A') ist das selbe wie Lowercase('a').

Mir fällt aber ansonsten noch sowas hier auf:
Delphi-Quellcode:
procedure TOszVerwalt.btsuchenClick(Sender: TObject);
var s,vergleich,ebg,bgang:string;
    i,a: integer;
begin

edbildgang.text:=ebg;
with libanzeige do begin
for i := 1 to libanzeige.Items.Count do
s:=libanzeige.Items[i];
       s:=libAnzeige.Items[libAnzeige.ItemIndex];
a:=pos('. ',s) ;
delete(s,1,a+2) ;
bgang:=s;
vergleich:=vbildgang(bgang);
if vergleich<>ebg
  then libanzeige.Items.Delete(i);
Mal davon abgesehn, dass da 2 End's fehlen, und die Formatierung schrecklich ist...
Bei "edbildgang.text := ebg;" ist ein kleines Problem, denn: ebg hat noch gar keinen Wert. Zuerst muss ebg nämlich initialisiert werden. Sonst ist diese Zeile nicht korrekt, bzw. kann auch zu massiven Fehlern führen (ich kenne sowas...).

Auch ist mir nicht ganz klar, was hier gelöscht werden soll:
Delphi-Quellcode:
a:=pos('. ',s) ;
delete(s,1,a+2) ;
Vielleicht wäre es ja hilfreich zu erfahren, wie der Suchstring aufgebaut ist. Du kannst ja mal ein Beispiel posten ;)

sandrachen 11. Dez 2005 16:31

Re: brauche hilfe zu suchen un dsortieren in delphi
 
also.... das was gelöscht werden soll ist alles bis zu diesem zeichen hin, da wir es so machen sollten, dass ds die nicht aufgelistet werden sollen nämlich einfach gelöscht werden aus der listbox....

malo 11. Dez 2005 16:36

Re: brauche hilfe zu suchen un dsortieren in delphi
 
Ein wahrscheinlich massiver Fehler noch:
Delphi-Quellcode:
if vergleich<>ebg
  then libanzeige.Items.Delete(i);
Wie bereits gesagt, ebg ist nicht gesetzt. Es hat also keinen Wert. Daher ist es wahrscheinlich immer <> Vergleich. Du musst ebg doch einen Wert zuweisen, wenn du ebg mit irgendwas vergleichst ;)

sandrachen 11. Dez 2005 16:49

Re: brauche hilfe zu suchen un dsortieren in delphi
 
meine freundin probiert es gerade aus... ma schaun thx

sandrachen 11. Dez 2005 16:51

Re: brauche hilfe zu suchen un dsortieren in delphi
 
noch was... ein suchstring sieht so aus: Name, Vorname; Kl. 123 / tutor....


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:54 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