Delphi-PRAXiS
Seite 2 von 2     12   

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)

grenzgaenger 25. Nov 2007 21:11

Re: meine StrCharCount geht nich...
 
Zitat:

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

nicht nur dem objekt der objektorientierten programmierung ... sondern globale variablen sollten normal komplett vermieden werden... und sind nur bei wenigen ausnahmen zulässig... die angesprochene faulheit, ist jedenfalls kein grund dafür .. ;-)

hab mal kurz was runtergeschrieben...

Delphi-Quellcode:
function CountWords(Line: pChar; Word: string): integer;
var
 i: integer;
begin
 result := 0;
 for i := 0 to length(line) - length(word) do
 begin
  if pos(word, line) = 1 then
   inc(result);
  inc(line);
 end;
end;
denke, dafür braucht man keine globalen variablen... ;-) zwar nicht besonders performant, aber der kollege braucht ja auch noch was zu tun... ;-)

grenzgaenger 25. Nov 2007 21:14

Re: meine StrCharCount geht nich...
 
Zitat:

Zitat von a3rosol
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;

weshalb willste das deklarieren...??? geht do so viel einfacher... :-)

Delphi-Quellcode:
procedure TForm1.Button7Click(Sender: TObject);
begin
      edit5.Text:=IntToStr(StrCharCount(wort, edit4.text[1]));
end;

a3rosol 25. Nov 2007 21:16

Re: meine StrCharCount geht nich...
 
also: wenn ich gut und sicher programmieren will, sollte ich keine globals benutzen auch wenns umständlicher ist?

ja das ist wirklich einfacher^^
mensch, ich muss noch ne menge lernen :-)

grenzgaenger 25. Nov 2007 21:24

Re: meine StrCharCount geht nich...
 
Zitat:

Zitat von a3rosol
also: wenn ich gut und sicher programmieren will, sollte ich keine globals benutzen auch wenns umständlicher ist?

ja das ist wirklich einfacher^^
mensch, ich muss noch ne menge lernen :-)

was ist denn da umständlicher?? hier mal die routine zum zeichen zählen:

Delphi-Quellcode:
function CountChar(Line: pChar; aChar: char): integer;
begin
  result := 0;
  while boolean(Line[0]) do
  begin
    if Line[0] = aChar then inc(result);
    inc(line)
  end;
end;
aufruf einfach über
Delphi-Quellcode:
CountChar('abcabc', 'a')
wenn du auf globale variablen verzichtet, dann weisst auch immer auf welche daten du zugreifst...und sparst dir noch stunden an debuggen ein ... ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:42 Uhr.
Seite 2 von 2     12   

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