| Autor |
Beitrag |
ForgottenDeath
Hält's aus hier
Beiträge: 12
|
Verfasst: So 08.02.09 20:18
1. Ziel Wortsortierer
Auf einer Webseite (PHP) bzw. dem Desktop (Delphi) soll ein beliebiger Text eingegeben werden. Das Programm soll alle Worte dieses Textes einlesen und alle Buchstaben in Kleinbuchstaben verwandeln. Danach sollen die Worte sortiert und wieder ausgegeben werden. Interpunktionen und Zahlen werden dabei ignoriert. Die Ausgabe soll dabei nach den beiden Anfangsbuchstaben der Worte gruppiert werden. Innerhalb dieser Gruppen erfolgt die Ausgabe in umgekehrter alphanumerischer Reihenfolge. Doppelte Worte werden nur einmal mit der Häufigkeit ihres Auftretens ausgegeben.
2. Verlauf
Der Text soll in ein mehrzeiliges Eingabefeld eingegeben werden. Nach Bestätigung durch den Benutzer wird der Text vom Programm verarbeitet. Das Ergebnis muß in geeigneter Weise ausgegeben werden.
3. Abgabe
Das Programm soll in Delphi geschrieben werden.
4. Abzugeben sind
Unter Delphi: fertig kompiliertes Programm
Hat jmd ne Ahnung? das geht leider über meinen geringen Erfahrungsschatz in Delphi....
Moderiert von Narses: Beitragsformatierung überarbeitet.
|
|
jaenicke
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 08.02.09 20:23
Hallo und  !
Hast du denn einmal angefangen? Wo kommst du nicht weiter?
Wie sollen wir dir denn helfen, wenn du nichts zeigst was du bisher hast? Was erwartest du also als Antwort?
Stichworte wären z.B. LowerCase und zur Speicherung der Wörter z.B. TStringList.
|
|
ForgottenDeath 
Hält's aus hier
Beiträge: 12
|
Verfasst: So 08.02.09 20:31
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35:
| unit gate;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs;
type TForm1 = class(TForm) private public end;
var Form1: TForm1; var
StringList: TStringList;
StringList := TStringList.Create;
StringList.LoadFromFile('http://www.haus-perthen.de/gateprotect.txt');
StringList.Sort; ShowMessage(StringList.Text); StringList.Free; end;
implementation
{$R *.DFM}
end. |
soweit bin ich aber irg weiß ich nicht weiter
habe delphi vor ca 2-3 jahren das letzte mal genutzt und habe sehr wenig ahnung
Moderiert von Narses: Delphi-Tags hinzugefügt
|
|
Webo
      
Beiträge: 577
Erhaltene Danke: 14
Win 7, Debian
C# (Visual Studio 2013), PHP, C, C++ (Eclipse, KDevelop)
|
Verfasst: So 08.02.09 20:52
Wichtig ist erstmal, dass du dir im Klaren bist, wie du dein Vorhaben logisch, mal ganz ab von der Programmiererei, lösen würdest (z.B. Ich durchsuche den Text nach "...") .
Überleg dir:
- Wie könnte man möglichst einfach nur kleine Buchstaben "erlauben" ? Wie jaenicke schon ansprach: Stichpunkt LowerCase
- Nach was sortiere ich und wie sortiere ich ( besonders erstes habe ich noch nicht kapiert, was du tun willst) ?
- Wie lasse ich Zahlen weg ?
... etc.
Wenn du dann ein Konzept hast, dann fragst du dich, wie man das in Delphi realisieren könnte, wobei du da natürlich Hilfe bekommst, wenn du nach außen hin zeigst, dass du dir Gedanken gemacht hast und nicht einfach andere für dich arbeiten lässt.
Grüße
Webo
_________________ Man kann nur das aus dem Ärmel schütteln, was man auch vorher reingesteckt hat.
|
|
jaenicke
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 08.02.09 20:52
Du sollst den Text doch gar nicht aus einer Datei laden, den hast du ja in einem Eingabefeld auf dem Formular.
Vorgehensweise könnte bspw. ungefähr so sein:
- Text aus dem Einfabefeld in einen String legen und dabei mit LowerCase in Kleinbuchstaben umwandeln.
- Jeweils nach dem nächsten Worttrennzeichen (kein Buchstabe / Zahl / ...) suchen
- Die Buchstaben bis da hin als Wort nehmen und in einer TStringList suchen
- Wenn das Wort schon drin ist, die Anzahl des Wortes erhöhen, sonst das Wort einfügen
|
|
ForgottenDeath 
Hält's aus hier
Beiträge: 12
|
Verfasst: So 08.02.09 21:26
mh... wie könnte sowas ca aussehen?:S bin echt überfordert
|
|
jaenicke
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 08.02.09 21:29
Fang doch einfach mal an. Erstell ein neues Projekt, lege ein TMemo und einen TButton drauf, dann klick doppelt auf den Button und deklariere in der ButtonClick Prozedur eine String-Variable. Dann legst du da den Inhalt deines Memos rein, wandelst den Text dabei mit LowerCase in Kleinbuchstaben um, ...
Danach brauchst du Schleifen, kennst du for- und while-Schleifen?
|
|
ForgottenDeath 
Hält's aus hier
Beiträge: 12
|
Verfasst: So 08.02.09 21:32
mh.. for und while... ist sehr lange her dass ich davon gehört habe... while kann ich mir vorstellen dass etwas im selben augenblick passieren soll oder so ähnlich
|
|
Webo
      
Beiträge: 577
Erhaltene Danke: 14
Win 7, Debian
C# (Visual Studio 2013), PHP, C, C++ (Eclipse, KDevelop)
|
Verfasst: So 08.02.09 21:40
Delphi-Quelltext 1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| for i := 0 to Anzahlwasauchimmer do begin
...
end;
while i < Anzahlwasauchimmer do begin
...
end; |
Das erste nutzt man immer, wenn etwas raufgezählt werden soll, z.B. den Wort oder Zeilenindex. Das zweite, wie du schon sagtest, solange diese Bedingung erfüllt ist.
Wenn du nicht mehr die Grundlagen drin hast, schau dir doch einfach nochmal nen Crashkurs an.
_________________ Man kann nur das aus dem Ärmel schütteln, was man auch vorher reingesteckt hat.
|
|
ForgottenDeath 
Hält's aus hier
Beiträge: 12
|
Verfasst: So 08.02.09 22:07
danke! ich werds mal probiern wie weit ich komme
|
|
jaenicke
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: So 08.02.09 22:27
Ja, wenn du das mit Schleifen schon nicht mehr weißt, dann musst du dir das erstmal anschauen.
Als Crashkurs wie von Webo angesprochen empfehle ich z.B. den:
crashkurs.christian-stelzmann.de
|
|
ForgottenDeath 
Hält's aus hier
Beiträge: 12
|
Verfasst: Mo 09.02.09 16:44
mh... sorry aber wie legt man einen Text aus dem Eingabefeld in einen string und gleichzeitig (mit whileschleife?) in einen lowercase?
|
|
jaenicke
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 09.02.09 17:20
Du nimmst den Text aus dem Eingabefeld, übergibst den an LowerCase und das gibt dir den in Kleinbuchstaben zurück. Das kommt dann in deine Stringvariable. Delphi-Quelltext 1:
| DeinString := LowerCase(MemoX.Text); |
|
|
ForgottenDeath 
Hält's aus hier
Beiträge: 12
|
Verfasst: Mo 09.02.09 17:31
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38:
| unit Unit1;
interface
uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls;
type TForm1 = class(TForm) Button1: TButton; Memo1: TMemo; procedure Button1Click(Sender: TObject); private
public end;
var Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject); begin StringList.LoadFromFile('http://www.haus-perthen.de/gateprotect.txt') StringList.Sort; ShowMessage(StringList.Text); StringList.Free; Stringlist := LowerCase(Memo1.Text); end;
end. | soweit hab ichs jetzt
Moderiert von Narses: Quote- durch Delphi-Tags ersetzt
|
|
ForgottenDeath 
Hält's aus hier
Beiträge: 12
|
Verfasst: Mo 09.02.09 21:38
weiß ehrlich gerade nicht weiter und verzweifel gerade ^^ eig ist delphi ned mein programm und das muss bis mogen fertig sein... zum glück bis morgen abend
er erkennt den befehl stringlist irg leider nicht
kann jmd mir helfen?
|
|
LexXis
      
Beiträge: 170
Erhaltene Danke: 3
|
Verfasst: Mo 09.02.09 23:19
Du gibtst deine Stringlist ja auch per Stringlist.Free; frei. Außer dem willst du ja nicht auf die Stringlist zugreifen, sondern auf deren Text
Stringlist.Text Quelltext 1:
| := LowerCase(Memo1.Text) |
|
|
jaenicke
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 09.02.09 23:22
Es fehlt vor allem die Deklaration der Variable StringList als Typ TStringList und die Erzeugung. Die Variable war oben aber schon mal da.
Ohne die Grundlagen hat das aber keinen Sinn, was soll ich da noch zu sagen. Crashkurs, anderweitige Suche im Internet und vor allem ausprobieren. Alles vorgekaut zu bekommen funktioniert beim Programmieren nicht. 
|
|
ForgottenDeath 
Hält's aus hier
Beiträge: 12
|
Verfasst: Mo 09.02.09 23:27
mh.. er erkennt den befehl stringlist.loadfromfile leider nicht:S habe den allerdings aus dem Web
außerdem meint er dass ich überall Semikolons setzen soll
kann es sein dass ich welche vergessen habe?
|
|
ForgottenDeath 
Hält's aus hier
Beiträge: 12
|
Verfasst: Mo 09.02.09 23:28
jaenicke hat folgendes geschrieben : | Es fehlt vor allem die Deklaration der Variable StringList als Typ TStringList und die Erzeugung. Die Variable war oben aber schon mal da.
Ohne die Grundlagen hat das aber keinen Sinn, was soll ich da noch zu sagen. Crashkurs, anderweitige Suche im Internet und vor allem ausprobieren. Alles vorgekaut zu bekommen funktioniert beim Programmieren nicht.  |
ich versuch mich da gerade durchzubeißen, weil ich einen ausbildungsplatz haben will und danach werd ich wahrscheinlich nie wieder auf delphi treffen
von daher setz ich mich da ran
|
|
jaenicke
      
Beiträge: 19341
Erhaltene Danke: 1752
W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
|
Verfasst: Mo 09.02.09 23:32
|
|