Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi galgenraten mit pos. was ist falsch? (https://www.delphipraxis.net/38187-galgenraten-mit-pos-ist-falsch.html)

Coolboarder_9 15. Jan 2005 23:31


galgenraten mit pos. was ist falsch?
 
Hallo

Ich hab n Galgenraten geschrieben und hab die pos funktion benutzt. a

ber was is falsch?
Er findet nen buchstaben aber er reduziert den strich - string auf 10 zeichen oder so. was stimmt da nicht?
schauts euch an. Bitte

Mfg Coolboarder

Ultimator 15. Jan 2005 23:40

Re: galgenraten mit pos. was ist falsch?
 
Würden wir uns ja mal anschauen, kein Problem.

Aber dazu bräuchtenwer Code ;-)

Mirilin 15. Jan 2005 23:41

Re: galgenraten mit pos. was ist falsch?
 
:hi:

Vllt ist es ja nur für mich einwenig spät ^^ aber könntest Du ev genauer schreiben was nicht klappt, bzw einwenig Quelltext von Dir als Anhaltspunkt geben.

mfg Tobias

Coolboarder_9 16. Jan 2005 10:40

Re: galgenraten mit pos. was ist falsch?
 
Oops. dacht ich hab als anhang drangehängt.

hier is der quelltext.

So hier der gesamte

unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
Memo1: TMemo;
Memo2: TMemo;
Button2: TButton;
Edit1: TEdit;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Button2Click(Sender: TObject);

private
{ Private-Deklarationen }
public
{ Public-Deklarationen }
end;

var
Form1: TForm1;

implementation

var wort, raus, hilfs, strich : string[100];

{$R *.dfm}



procedure init(); // initialisieren
var i:integer;
begin
setlength(raus,length(wort)); //länge fest
wort:=''; // leer
hilfs:='';strich:=''; // leer
randomize;
randomize;
wort:=Form1.Memo2.Lines.Strings[random(Form1.Memo2.Lines.Count)]; // zufallswort
for i:=1 to length(wort) do
begin
strich := (strich + ' _'); // striche malen
end;
Form1.Memo1.Lines.Add(strich);
end;

procedure suchen (var x:integer);
var i,j,k : integer;
begin
SetLength(raus,length(wort));
SetLength(strich,(2*(length(wort))));

hilfs:=Form1.Edit1.Text; // buchtsben einlesen
x:=pos(hilfs,wort); // pos finden
strich[x*2]:=wort[x]; // strich ersetzen // neu ausgeben

if x <>0 then // wenn buchstabe vorhanden
begin
for i:=1 to x-1 do //alle vor gefundenen
raus[i]:=wort[i];

for j:=x+1 to length(wort) do // alle nach gefundenen
raus[j]:=wort[j];

for k:=0 to (2*(length(wort))) do
begin
hilfs:=Form1.Edit1.Text;
x:=pos(hilfs,raus); // pos finden
strich[x*2]:=wort[x]; // strich ersetzen
end;

Form1.Memo1.Lines.Add(strich);

end;

end;



procedure TForm1.Button1Click(Sender: TObject);
begin
//if messageBox(0,'Wirklich ein neues? dann verlierst du deinen Einsatz!','Neues Wort',mb_yesno)=6 then
//Memo1.Lines.Add('Verloren')
//else
//end;
init();
end;


procedure TForm1.FormCreate(Sender: TObject);
begin
init();
end;

procedure TForm1.Button2Click(Sender: TObject);
var x : integer;
begin
Suchen(x);
end;

end.



aber der Fehler liegt in der suchen Prozedur genauer gesagt:

SetLength(strich,(2*(length(wort))));

hilfs:=Form1.Edit1.Text; // buchtsben einlesen
x:=pos(hilfs,wort); // pos finden
strich[x*2]:=wort[x];

da irgendwo. Ich denk mal in der letzten Zeile.

Ich versuch nochma das Programm anzufügen.
was nicht funktioniert:

ich starte das Prog. dann gibt er mir die richtige anzahl striche aus:
bsp wort = hallo dann ist strich _ _ _ _ _
nur dann rat ich einmal ein a und dann steht da:
_ a

mehr nciht . den rest gibts nicht. manchmal klappts wiederum
bsp: mandarine _ _ _ _ _ _ _ _ _ --> a raten
Strich: _ a _ _ a _ _ _ _

woran liegst also?.
Cu, Olli

Coolboarder_9 16. Jan 2005 10:41

Re: galgenraten mit pos. was ist falsch?
 
Liste der Anhänge anzeigen (Anzahl: 1)
K hab die datei vergessen anzufügen

SirThornberry 16. Jan 2005 10:42

Re: galgenraten mit pos. was ist falsch?
 
benutz mal die "Delphi-Code" tags, oder mach es per anhang, so kann es keiner lesen. Und es gibt eine "Edit" funktion. Wenn man also was vergessen hat kann man einfach seinen Beitrag editieren und muss nicht innerhalb von 1 Minuten noch mal posten (denn sowas ist ja schon fast puschen)

Coolboarder_9 16. Jan 2005 11:24

Re: galgenraten mit pos. was ist falsch?
 
Is ok. danke für die Mühen.
und das nächste mal schreib ichs auch lesbar ^^
Hab das Problem gefunden. Hatte bei der übergabe der Buchstaben von wort zu strich den FAll wenn der Buchsatbe nicht drin ist bedacht.

Sry wegen dem stress

Olli


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