AGB  ·  Datenschutz  ·  Impressum  







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

String untersuchen...

Ein Thema von Praktikant · begonnen am 1. Okt 2003 · letzter Beitrag vom 7. Okt 2003
Antwort Antwort
Seite 1 von 2  1 2      
Praktikant

Registriert seit: 24. Sep 2003
131 Beiträge
 
Delphi 5 Enterprise
 
#1

String untersuchen...

  Alt 1. Okt 2003, 14:57
Folgendes Problem:
Ein vom User eingegebener String (via editfeld) soll darauf untersucht werden, ob ein zweiter eingegebener String (editfeld) mehr als drei aufeinander folgender Zeichen gleich hat.
Bsp: edit1:='langerName'
edit2:='german'

In diesem Fall müsste das Programm anspringen, da in edit1 u. edit2 die zeichenfolge 'ger' verwendet wurde.

Habe es mal so gemacht, allerdings funktioniert das nur solange wie mein edit2 text kürzer als edit1 text ist.
Delphi-Quellcode:
//Nicht drei aufeinander folgende Zeichen aus dem Benutzernamen
StrBenutzer:=...;
if Pos(newstring, StrBenutzer) > 0 then
  //Suchen in Benutzername nach erstem gleichen eingegebenem Zeichen aus Kennwort(newstring)
if AnsiCompareText(TableBenutzerBenutzer.Text, StrBenutzer) <= 0 then //Wenn weitere identisch ungültiges Passwort
begin
  messagedlg('Aufeinander folgende Zeichen aus Benutzername sind nicht erlaubt.', mtInformation, [mbOk],0);
ClickedOK:=False;
end;
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#2

Re: String untersuchen...

  Alt 1. Okt 2003, 15:31
hab das bissl probiert und bei meinen testfällen hats geklappt... Kann aber sein in dem Source is noch nen fehler oder sowas drin

Delphi-Quellcode:
function isdrin(bigone: String; littleone: String; mingleich: Integer; casesensitiv: Boolean = False): Boolean;
var wdh1: Integer;
begin
 if casesensitiv then
 begin
  bigone := lowercase(bigone);
  littleone := lowercase(littleone);
 end;

 result := False;
 wdh1 := 1;
 while (wdh1 + mingleich - 1 <= length(littleone)) and (result = False) do
 begin
  if pos(copy(littleone,wdh1, mingleich), bigone) > 0 then result := True;
  wdh1 := wdh1 + 1
 end;
end;
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Praktikant

Registriert seit: 24. Sep 2003
131 Beiträge
 
Delphi 5 Enterprise
 
#3

Re: String untersuchen...

  Alt 2. Okt 2003, 07:44
danke erstmal.
Nur hast Du da wohl was falsch verstanden.

Der Benutzer darf ja einen selben Buchstaben verwenden, nur ab drei gleich aufeinander folgenden soll Eingabe nicht akzeptiert werden.
Dabei kann der 2. string natürlich auch kürzer sein, sprich der string 2 liegt zwischen 3 und x Buchstaben (x wird immer unter 20 liegen).

Bsp.1:
edit1 eingegeben: Administrator
edit2 eingegeben: fussballtor
Nun soll proggi das 'tor' erkennen

Bsp.2:
edit1 eingegeben: Herbert
edit2 eingegeben: Heben

Nun soll proggi das 'he' und 'be' nicht anmeckern, erst ab 3en. gleichen Buchstaben.
Müsste allen klar sein wie ich es meine.

Wie mache ich es unabhängig vn der stringlänge?

PS: So ganz kapiert habe ich die source in obigem post nicht...
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: String untersuchen...

  Alt 2. Okt 2003, 07:46
Mal ein ungesteter Schnellschuß:
Delphi-Quellcode:
if (pos('beg', s1) > 0) and (pos('beg', s2) > 0) then
  ...;
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Tom

Registriert seit: 7. Jan 2003
318 Beiträge
 
RAD-Studio 2009 Pro
 
#5

Re: String untersuchen...

  Alt 2. Okt 2003, 07:53
PseudoCode:
Delphi-Quellcode:
Function ... (Str1, Str2: String):Boolean;
var
  i : integer;
  tmp : String;
begin
  Result := False;
  if ( length(Str1) < 3 ) or ( length(Str2) < 3 ) then exit; // nothing to do
  for i := 1 to Length( Str1 ) - 2 do
  begin
    Tmp := Copy( Str1, i, 3 );
    if pos( Tmp, Str2 ) > 0 then
    begin
      Result := True;
      Break;
    end;
  end;
end;
  Mit Zitat antworten Zitat
Praktikant

Registriert seit: 24. Sep 2003
131 Beiträge
 
Delphi 5 Enterprise
 
#6

Re: String untersuchen...

  Alt 2. Okt 2003, 09:29
@lucki:
mir ist unklar welche string ich in die zwei Funktionen einsetzen soll/muss. Habe doch nur einen hauptstring welcher mit dem zweitstring überprüft werden soll.

@Tom:
irgendwie funktioniert dass nicht wirklich, entweder er meckert mir immer herum, oder er akzeptiert gleiche string.


Werd noch wahnsinnig mit der Funktion
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: String untersuchen...

  Alt 2. Okt 2003, 09:32
s1 und s2 sind die Strings, die du überprüfen willst umd 'beg' ist die zu untersuchende Zeichenfolge.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Praktikant

Registriert seit: 24. Sep 2003
131 Beiträge
 
Delphi 5 Enterprise
 
#8

Re: String untersuchen...

  Alt 2. Okt 2003, 09:33
ich habe doch eine variable zeichenfolge die ich untersuchen will
  Mit Zitat antworten Zitat
Tom

Registriert seit: 7. Jan 2003
318 Beiträge
 
RAD-Studio 2009 Pro
 
#9

Re: String untersuchen...

  Alt 2. Okt 2003, 10:18
Zitat von Praktikant:
@Tom:
irgendwie funktioniert dass nicht wirklich, entweder er meckert mir immer herum, oder er akzeptiert gleiche string.
Nachdem ich den Source vorhin nur getippt habe, habe ich ihn jetzt getestet.

1) "Meckert rum" ist so ziemlich die sinnvollste Art der Wiedergabe einer Fehlermeldung.
2) Der Source tut es.
3) True wird zurückgegeben, wenn 3 Buchstaben identisch sind.
4) Es wird zwischen Groß- und Kleinschreibung unterschieden.
  Mit Zitat antworten Zitat
Praktikant

Registriert seit: 24. Sep 2003
131 Beiträge
 
Delphi 5 Enterprise
 
#10

Re: String untersuchen...

  Alt 2. Okt 2003, 10:38
Zitat von Tom:
Nachdem ich den Source vorhin nur getippt habe, habe ich ihn jetzt getestet.

1) "Meckert rum" ist so ziemlich die sinnvollste Art der Wiedergabe einer Fehlermeldung.
2) Der Source tut es.
3) True wird zurückgegeben, wenn 3 Buchstaben identisch sind.
4) Es wird zwischen Groß- und Kleinschreibung unterschieden.
1) Er bringt mir jedes mal meine messagebox, dass string aus benutzername benutzt zeichen. Irgendwie komsich, aheb auch boolen schon getauscht, aber dasselbe.
2) tut was
3) das klappt bei mir leider nicht, momentan bringt er es jedes mal.
4) ist ausnahmsweise mal klar
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 11:46 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