AGB  ·  Datenschutz  ·  Impressum  







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

Wörter kombinieren

Ein Thema von Sarah_H · begonnen am 16. Okt 2007 · letzter Beitrag vom 16. Okt 2007
Antwort Antwort
Sarah_H

Registriert seit: 16. Okt 2007
3 Beiträge
 
#1

Wörter kombinieren

  Alt 16. Okt 2007, 21:06
Hallo

ich wollte fragen wie man es hinbekommt (möglichst einfach, ich habe noch nicht sonderlich viele Kenntnisse), dass jemand beliebig viele Wörter in das Programm eingibt und das Programm dann auf Knopfdruck immer zwei der Wörter zu einem neuen zusammensetzt.

Ich hoffe ihr habt das verstanden und ihr könnt mir helfen.

Danke im Vorraus.

Sarah
  Mit Zitat antworten Zitat
Whookie

Registriert seit: 3. Mai 2006
Ort: Graz
445 Beiträge
 
Delphi 10.3 Rio
 
#2

Re: Wörter kombinieren

  Alt 16. Okt 2007, 21:11
Für die Wörter kannst Du eine TStringList verwenden. Random(StringList.Count) liefert dir dann einen zufälligen Index in die Liste ...
Whookie

Software isn't released ... it is allowed to escape!
  Mit Zitat antworten Zitat
Sarah_H

Registriert seit: 16. Okt 2007
3 Beiträge
 
#3

Re: Wörter kombinieren

  Alt 16. Okt 2007, 21:26
Tut mir leid aber so richtig versteh ich das trotzdem noch nicht ^^*

Also ich nehme dann eine Liste wo man die Wörter als Benutzer reinschreiben kann und mit
Random(StringList.Count) gebe ich dann sozusagen den Befehl zwei Wörter rauszusuchen und dann als ein neues Wort auszugeben?
Tut mir echt leid aber ich habe wiegesagt noch keine großen Kenntnisse.
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#4

Re: Wörter kombinieren

  Alt 16. Okt 2007, 21:35
Hallo,

und herzlich willkommen in der DP

Willst du nur wahrlos immer zwei Worte verbinden, oder alle Kombinationen durchspielen?
Wookis Idee mit der StringList ist fürs erste sehr gut.

Gruß oki
42
  Mit Zitat antworten Zitat
Benutzerbild von 3_of_8
3_of_8

Registriert seit: 22. Mär 2005
Ort: Dingolfing
4.129 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Wörter kombinieren

  Alt 16. Okt 2007, 21:40
Am besten du lernst erst einmal die Grundlagen.

Wenn du das hast, weißt du auch, was Whookie meint.

Und: Willkommen in der DP.
Manuel Eberl
„The trouble with having an open mind, of course, is that people will insist on coming along and trying to put things in it.“
- Terry Pratchett
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#6

Re: Wörter kombinieren

  Alt 16. Okt 2007, 21:45
Hi Sarah_H,
anbei als Demo und zur Anschauung ein komplettes Project, dass du in deinem Delphi öffnen kannst und dir anschauen, wie es funktioniert.
Angehängte Dateien
Dateityp: zip test_184.zip (221,6 KB, 10x aufgerufen)
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
Sarah_H

Registriert seit: 16. Okt 2007
3 Beiträge
 
#7

Re: Wörter kombinieren

  Alt 16. Okt 2007, 21:51
Vielen dank für eure schnellen Antworten dann fang ich jetzt am besten mal mit den Grundlagen an und arbeite mich dann zu dem Programm hin.

und danke an Progman. Das ist eigentlich genau das was ich meinte. Dann versuche ich mich jetzt mal selbst daran.

Danke ^^
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#8

Re: Wörter kombinieren

  Alt 16. Okt 2007, 21:54
Hallo Sarah,

die Eingabe der Wörter kann man interaktiv wunderbar in einer TMemo-Komponente erledigen. Du kannst aber die Wörterliste auch beim Start aus einer Textdatei in das Memo laden - Memo.LoadFromFile('Wörterliste.txt').

Beim Verbinden zweier Wörter zu einer neuen Wortschöpfung wirst du feststellen, dass Katze und Klo zu KatzeKlo wird. Du wirst dich also darum kümmern müssen, dass das angehängte Wort der Verbindung immer klein geschrieben ist und für das vorangestellte Wort eine Flexionsform angegeben wird.

Versuche den Algorithmus zuerst in deiner Muttersprache zu formulieren, bevor du es mit Pascal angehst.

Delphi-Quellcode:
procedure TrimLines(s: TStrings);
var
  i: Integer;
begin
  s.BeginUpdate;
  for i := Pred(s.Count) downto 0 do
    if Trim(s[i]) = ''
      then s.Delete(i)
      else s[i] := Trim(s[i]);
  s.EndUpdate;
end;

function CombinedWords(s: TStrings): string;
var
  index1, index2: Integer;
  name, value: string;
begin
  s.BeginUpdate;
  index1 := Random(s.Count);
  name := s.Names[index1];
  value := s.ValueFromIndex[index1];
  s.Exchange(index1, Pred(s.Count));
  index2 := Random(Pred(s.Count));
  Result := StringReplace(value, '~', name, []) + AnsiLowercase(s.Names[index2]);
  s.Exchange(index1, Pred(s.Count));
  s.EndUpdate;
end;

procedure TDemoForm.TrimButtonClick(Sender: TObject);
begin
  TrimLines(Memo.Lines);
end;

procedure TDemoForm.TestButtonClick(Sender: TObject);
begin
  with Memo do
    if Lines.Count > 1
      then ShowMessage(CombinedWords(Memo.Lines))
      else ShowMessage('nice try!');
end;

procedure TDemoForm.InitButtonClick(Sender: TObject);
begin
  with Memo.Lines do
  begin
    Clear;
    Values['Katze'] := '~n';
    Values['Klo'] := '~';
    Values['Haar'] := '~';
    Values['Bürste'] := '~n';
  end;
end;
Freundliche Grüße
  Mit Zitat antworten Zitat
Antwort Antwort


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 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