Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi meine StrCharCount geht nich... (https://www.delphipraxis.net/103992-meine-strcharcount-geht-nich.html)

a3rosol 25. Nov 2007 20:37


meine StrCharCount geht nich...
 
hiho
hab mir ne StrCharCount fkt gebaut die die anzahl eines bestimmten zeichens in einem strinhg augeben soll
Delphi-Quellcode:

var
  Form1: TForm1;
     var wort,z: string; s,l:integer;
implementation

{$R *.DFM}

[b]function StrCharCount(wort: string; z: string): Integer;
var
  I: Integer;
begin
  Result := 0;
  for I := 1 to Length(wort) do
    if wort[I] = z then
      Inc(Result);
end;
aber anscheinend gibt sie mir keinen wert zurück -.-
wo ist der fehler?

eine weitere frage: wo kann ich meine globalen variablen EINMAl definieren? mich ödet es an immer wort:= edit1.text; zu schreiben...

danke schonmal für eure hilfe

mkinzler 25. Nov 2007 20:41

Re: meine StrCharCount geht nich...
 
Ich würde auf die globalen Variablen verzichten und bei Bedarf lokale verwenden. Was ich auch beim result machen würde.

a3rosol 25. Nov 2007 20:49

Re: meine StrCharCount geht nich...
 
danke für deine meinung, aber aus gründen der faulheit ziehe ich es vor mit globals zu arbeiten :wink:
hat jemand schon ne lösung?

thkerkmann 25. Nov 2007 20:53

Re: meine StrCharCount geht nich...
 
Hi,

Delphi-Quellcode:
function StrCharCount(wort: string; z: string): Integer;
var
  I: Integer;
begin
  Result := 0;
  for I := 1 to Length(wort) do
    if wort[I] = z then
      Inc(Result);
end;
Du vergleichst hier einen Char wert (wort[i]) mit einem string (z).
Wie soll denn da was richtiges rauskommen?

Du musst den String in einzelne Worte zerlegen und dann mit deinem gesuchten Wort vergleichen.
Dann köntest Du Erfolg haben.

Du suchst doch wort in string oder ?

Gruss

grenzgaenger 25. Nov 2007 20:54

Re: meine StrCharCount geht nich...
 
jetzt sag mal, was willste denn hier überhaupt machen...

Delphi-Quellcode:
[b]function StrCharCount(wort: string; z: string): Integer;
var
  I: Integer;
begin
  Result := 0;
  for I := 1 to Length(wort) do
    if wort[I] = z then
      Inc(Result);
end;[/b]
ich komm da irgendwie nicht drauss... was das soll ... :gruebel: :gruebel: :gruebel:

himitsu 25. Nov 2007 20:55

Re: meine StrCharCount geht nich...
 
Sicher daß du nur EIN Zeichen an z übergibst?


versuch's besser mal mit einem Char für Z, da kannst du dann nur einen Char übergeben und es sollte gehn
Delphi-Quellcode:
function StrCharCount(wort: string; c: char): Integer;
var
  I: Integer;
begin
  Result := 0;
  for I := 1 to Length(wort) do
    if wort[I] = c then
      Inc(Result);
end;

Nuclear-Ping 25. Nov 2007 20:56

Re: meine StrCharCount geht nich...
 
Zitat:

Zitat von a3rosol
danke für deine meinung, aber aus gründen der faulheit ziehe ich es vor mit globals zu arbeiten Wink
hat jemand schon ne lösung?

Dann solltest du vlt. lieber mit Basic arbeiten? :gruebel:

Delphi ist "Objekt Pascal" und globale Variablen widersprechen dem Konzept von "objekt orientierter Programmierung". Sie sollten nur verwendet werden, wenn es nicht anders geht.

a3rosol 25. Nov 2007 21:01

Re: meine StrCharCount geht nich...
 
wie wandel ich einen string in ein char um?
ja ich bin mir sicher dass ich nur ein zeichen suchen will

mkinzler 25. Nov 2007 21:03

Re: meine StrCharCount geht nich...
 
Delphi-Quellcode:
z:= edit4.Text[1];

a3rosol 25. Nov 2007 21:10

Re: meine StrCharCount geht nich...
 
Zitat:

Zitat von mkinzler
Delphi-Quellcode:
z:= edit4.Text[1];

du meine güte...sooo einfach? :shock:
vielen lieben dank! auch für die tips mit den globals
aber ist das denn nich immer zu aufwändig immer die gleiche variable zu deklarieren?

für die nachwelt die funktion:
Delphi-Quellcode:
function StrCharCount(wort: string; C: Char): Integer;
var
  I: Integer;
begin
  Result := 0;
  for I := 1 to Length(wort) do
    if wort[I] = C then
      Inc(Result);
end;
und die procedure
Delphi-Quellcode:
procedure TForm1.Button7Click(Sender: TObject);
var c:char;
begin
      c:= edit4.text[1];
      edit5.Text:=IntToStr(StrCharCount(wort,c));
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:57 Uhr.
Seite 1 von 2  1 2      

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