TartalomFriss hozzászólások
Új fórum témákAktív fórum témákFriss blogbejegyzésekGoogle hirdetések |
ellenörzés (fájból)
switch, 2007, december 6 - 10:52
Sziasztok! Egy ellenörzést kellene csinálnom, hogy az 's' szerepel e az adott txt állományban. j:=0; for i:=1 to memo1.lines.Count do if (j>0) then showmessage('talált') Az a bajom ezzel, hogy ami az elején van azokat megtalálja, ami a végén van mindenképp azt írja ki, hogy nem találta(pedig ott van). »
|
KeresésBelépésIndex TechPC Fórum
Origo TechbázisSG.hu |
pontosítás
bocsánat, pontosítok a feladaton!
a szo2, szo3 stb ezekben szavak vannak tárolva soronként (szóköz nem lehet benne)
az s:string tipusú, és ezt a 'játékos' adja meg.
a program ezt csak egyszer fogja megtalálni.
(a feladat szempontjából az a lényeg hogy benne van e valamelyik txt-ben)
Karesz a te megoldásod átírom majd stringre (remélem jól értelmeztem).
switch
Na igen de mivan akkor ha a
Na igen de mivan akkor ha a szöveg szóközzzel kezdődik, vagy mással akkor nem találja meg a keresett string-et. Ezért
if s=memo1.Lines[i] then
helyett:
if pos(s,memo1.Lines[i])<>0 then
Ugyanis ez csak akkor 0 ha a memo1.Lines[i]-ben nincs benne sehol sem a s-ben tárolt string
Üdv.: Totó
Szia switch!
Szia switch!
Lehet, hogy egy kicsit túl bonyolítottam, de működik!
Először egy showmessage-ben kiírja, hogy ha talált /'talált'/,
majd egy másik showmessage-ben, hogy mennyit.
Itt a teljes Unit1.pas:
kód:
***************************************************************
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
const
betu:array [0..0] of char=('s');
implementation
{$R *.dfm}
function betu_e(c:char):boolean;
var
a:integer;
begin
Result:=false;
for a:=0 to High(betu) do
if betu[a]=c then
begin
Result:=true;
break;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
a,i:integer;
s:string;
begin
memo1.lines.LoadFromFile('szo3.txt');
s:='';
i:=0;
for a:=1 to Length(memo1.Text) do
if betu_e(Memo1.Text[a]) then
begin
showmessage('talált');
i:=i+1;
showmessage(IntToStr(i));
end;
end;
end.
**************************************************************
Üdv: Karesz