Autor Beitrag
ForgottenDeath
Hält's aus hier
Beiträge: 12



BeitragVerfasst: 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 user profile iconNarses: Beitragsformatierung überarbeitet.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 08.02.09 20:23 
Hallo und :welcome: !

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 Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: So 08.02.09 20:31 
ausblenden volle Höhe Delphi-Quelltext
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
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  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 user profile iconNarses: Delphi-Tags hinzugefügt
Webo
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 577
Erhaltene Danke: 14

Win 7, Debian
C# (Visual Studio 2013), PHP, C, C++ (Eclipse, KDevelop)
BeitragVerfasst: 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 user profile iconjaenicke 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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 Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: So 08.02.09 21:26 
mh... wie könnte sowas ca aussehen?:S bin echt überfordert
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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 Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 577
Erhaltene Danke: 14

Win 7, Debian
C# (Visual Studio 2013), PHP, C, C++ (Eclipse, KDevelop)
BeitragVerfasst: So 08.02.09 21:40 
ausblenden 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 Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: So 08.02.09 22:07 
danke! ich werds mal probiern wie weit ich komme
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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 user profile iconWebo angesprochen empfehle ich z.B. den:
crashkurs.christian-stelzmann.de
ForgottenDeath Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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.
ausblenden Delphi-Quelltext
1:
DeinString := LowerCase(MemoX.Text);					
ForgottenDeath Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Mo 09.02.09 17:31 
ausblenden volle Höhe Delphi-Quelltext
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

    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  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); // Resultat: "Apfel Birne Kiwi"
  StringList.Free;
  Stringlist := LowerCase(Memo1.Text); // Resultat: Kleinschreibung

end;

end.
soweit hab ichs jetzt

Moderiert von user profile iconNarses: Quote- durch Delphi-Tags ersetzt
ForgottenDeath Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: 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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 170
Erhaltene Danke: 3



BeitragVerfasst: 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
:arrow: Stringlist.Text
ausblenden Quelltext
1:
 := LowerCase(Memo1.Text)					
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: 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. :nixweiss:
ForgottenDeath Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: 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 Threadstarter
Hält's aus hier
Beiträge: 12



BeitragVerfasst: Mo 09.02.09 23:28 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
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. :nixweiss:


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
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19341
Erhaltene Danke: 1752

W11 x64 (Chrome, Edge)
Delphi 12 Pro, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 09.02.09 23:32 
user profile iconForgottenDeath hat folgendes geschrieben Zum zitierten Posting springen:
mh.. er erkennt den befehl stringlist.loadfromfile leider nicht:S habe den allerdings aus dem Web
Aber StringList ist jetzt deklariert? Weil wenn das nicht als TStringList deklariert ist, dann kann er den Befehl auch nicht kennen. Du musst immer den ersten Fehler zuerst beheben, das war, dass er StringList nicht kennt.

user profile iconForgottenDeath hat folgendes geschrieben Zum zitierten Posting springen:
außerdem meint er dass ich überall Semikolons setzen soll
kann es sein dass ich welche vergessen habe?
Am Ende von LoadFromFile, ja.