AGB  ·  Datenschutz  ·  Impressum  







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

Hilfe beim "Glücksrad"

Ein Thema von Bansh · begonnen am 7. Jan 2007 · letzter Beitrag vom 8. Jan 2007
Antwort Antwort
Bansh

Registriert seit: 7. Jan 2007
8 Beiträge
 
#1

Hilfe beim "Glücksrad"

  Alt 7. Jan 2007, 15:40
Haloa zusammen, versuche gerade einen Ableger vom bekannten "Glücksrad" zu machen.

Das Poblem liegt nu daran das wenn ich Worte mit 2 gleichen Buchstaben habe er nur eins hinschreibt:

Delphi-Quellcode:
procedure TForm1.btnVersuchClick(Sender: TObject);
var i,v : Integer;
begin
  for i := 0 to length(wort) do
  Begin
  try
    v := pos(LowerCase(edtVersuch.Text),LowerCase(wort))-1;
      if v = 0 then objEdt[0].Text := Uppercase(edtVersuch.Text)
      else objEdt[v].Text := LowerCase(edtVersuch.Text);
    except
    end;
  end;
end;
Das er nur einmal soweit geht bis ers gefunden hat und dann aufhört ist klar. Nur wie bekomm ich hin
das er auch das zweite findet? Und das zweite Problem wäre das wenn ich was falsches eingebe (andren Buchstaben als gesucht) er mir nen .exe error ausgibt

Hoffe könnt mir helfen

Mfg Bansh
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#2

Re: Hilfe beim "Glücksrad"

  Alt 7. Jan 2007, 15:52
Hallo und herzlich willkommen,

Ich weiß nicht welche Delphi Version Du nutzt.
Sollte es aber Delphi 2005 oder höher sein kanst Du Dir einmal posex anschauen.
Da kannst Du angeben ab welcher Stelle des Wortes der Buchstabe gesucht werden soll.

Ansonsten kannst Du das Wort umkopieren (copy) ab der Stelle wo der Buchstabe das erstemal gefunden wurde.

oder:
Delphi-Quellcode:
// Lösungswort initialisieren

 Loesungswort:=wort;
 for i:=1 to length(lösungswort) do
   loesungswort[i]:='_';
...

// suche Button;
 gefunden:=false;
 for i:=1 to length(wort) do
   if buchstabe = wort[i] then
     begin
       loesungswort[i]:=buchstabe;
       gefunden:=true;
     end;
Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Bansh

Registriert seit: 7. Jan 2007
8 Beiträge
 
#3

Re: Hilfe beim "Glücksrad"

  Alt 7. Jan 2007, 17:34
Ok vielen dank werde mir das mal morgen anschauen, heute schon nen rauchenden kopf

Problem also gelöst, vielan dank
  Mit Zitat antworten Zitat
Bansh

Registriert seit: 7. Jan 2007
8 Beiträge
 
#4

Re: Hilfe beim "Glücksrad"

  Alt 8. Jan 2007, 16:34
Grml irgendwie bekomm ich es nicht zum laufen...

versteh grad nicht genau was ich machen soll
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: Hilfe beim "Glücksrad"

  Alt 8. Jan 2007, 16:42
Delphi-Quellcode:
// GesuchtesWort initialisieren
// die ganze Prozedure stellt Dir das gesuchte Wort als ____ ____ dar.
// also pro Buchstaben einen Unterstrich
// wobei GesuchtesWort und Wort jeweils ein String sind

GesuchtesWort:=wort; // das ist nur um die Länge des Wortes zu haben
for i:=1 to length(gesuchtesWort) do
  if gesuchtesWort[i] <> ' then // erhalten der Leerzeichen
    gesuchtesWort[i]:='_';
...

Delphi-Quellcode:
// suche Button;
//durchsuche das ganze Wort nach einem Buchstaben
// wobei Buchstabe ein Char ist, und der Buchstabe sein sollte der gerade "erdreht" wurde
for i:=1 to length(wort) do
   if buchstabe = wort[i] then // Buchstaben gefunden
     begin
       GesuchtesWort[i]:=buchstabe; // das stellt sich dann z.B. so dar: ___e_ e___
     end;
Habe es einmal ein wenig mehr kommentiert.

Wenn noch Fragen sind, bitte etwas genauer beschreiben was denn nicht geht - oder nicht zum Laufen gebracht werden kann.
Vielleicht haben wir ja verschiedene Ansätze zu dem Problem.

Grüße
Klaus
Klaus
  Mit Zitat antworten Zitat
Bansh

Registriert seit: 7. Jan 2007
8 Beiträge
 
#6

Re: Hilfe beim "Glücksrad"

  Alt 8. Jan 2007, 17:35
Hab das mit edit feldern gemacht
Ich post mal mein Programm ist dann vielleicht einfacher zu verstehen.

(Es ist leider noch nichts kommentiert und nicht gerade geordnet. Sorry dafür)
Angehängte Dateien
Dateityp: rar gluecksrad_158.rar (169,8 KB, 13x aufgerufen)
  Mit Zitat antworten Zitat
Klaus01

Registriert seit: 30. Nov 2005
Ort: München
5.767 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: Hilfe beim "Glücksrad"

  Alt 8. Jan 2007, 20:01
Habe Dir mal meine exe angehängt.
Ist meines Erachtens leicher durch einen String zu suchen
als über mehrere Editfelder.


[edit1]
Habe Deine button.click Methode einmal etwas umgestellt.

Delphi-Quellcode:
procedure TForm1.btnVersuchClick(Sender: TObject);
var i,v : Integer;
begin
  for i := 1 to length(wort) do
  Begin
  try
    //v := pos(LowerCase(edtVersuch.Text),LowerCase(wort))-1;
      if lowerCase(edtVersuch.Text) = lowerCase(wort[i]) then
        objEdt[i-1].Text := Uppercase(edtVersuch.Text);
      //else
      // objEdt[v].Text := LowerCase(edtVersuch.Text);
    except
    end;
  end;
end;
Was Du noch ausbessern könntest, ist die Darstellung des Textes bzw. deren Platzhalter wenn das Wort mal größer als
6 Buchstaben ist.
Und es passiert nichts wenn das Wort erraten wurde.
[edit1]

Grüße
Klaus
Angehängte Dateien
Dateityp: zip project1_582.zip (194,8 KB, 7x aufgerufen)
Klaus
  Mit Zitat antworten Zitat
Bansh

Registriert seit: 7. Jan 2007
8 Beiträge
 
#8

Re: Hilfe beim "Glücksrad"

  Alt 8. Jan 2007, 23:54
Vielen vielen vielen dank

Nu hab ichs komplett verstanden. Danke dir wirklich
Und das nichts passiert, bzw die Felder bei langen Worten spinnen... Das wird alles noch gemacht.
  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 10:00 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