[Delphi] zmienna

0

Jak zrobić żeby zmienna np. A(var A: integer)
przechowywała liczbe odpowiadającą liczbię znaków
z np. Edit1. Z tym, że jeden znak z komponentu
Edit1 równa się(=) 38.
?????????????????????????????????????????????????? [???]

0

Jeżeli chodzi ci o to, aby zmienna A przechowywała długość Edit`a, to:

a:=edit.length

0

albo

A := Strlen(PChar(Edit1.Text));

0

niyby tak.

Tylko żeby nie np. 5 znaków to zmienna przechowuje wartość 5.
tylko jeden znak = 38 czyli np. 5 znaków z Edit1 to zmienna przechowuje 190 !! :-8

0

Tu chyba ktoś sobie jaja robi, albo ja nie rozumiem pytania.

a := 38*length(Edit1.Text);

0

Tu chyba ktoś sobie jaja robi, albo ja nie rozumiem pytania.

a := 38*length(Edit1.Text);

chyba chodzi o to ze np. abc3 w edit1 ma sie rownac 6 ...

ten kod wywala blad konwersji u mnie, ale nie chce mi sie dalej myslec, moze chociaz tok rozumowania dobry i cos ci pomoze :-| :

var a, i : integer;
s : string;
begin
s := edit1.Text;
for i:= 0 to Strlen(Pchar(s)) do begin
if StrToInt(s[i])>0 then begin // nie wiem jak sie sprawdza czy to liczba czy nie :(
a := a + StrToInt(s[i]);
end
else begin
a := a+1;
end;
end;

0

nie no ja sam przestaje rozumiec - jak JEDEN znak moze sie rownac 38??

0

Może autorowi chodzi o ilość wyrazów w Edit`cie??

0

Może autorowi chodzi o ilość wyrazów w Edit`cie??

Mozna ponumerowac spacje i dodac 1:

var a, i : integer;
s : string;
begin
a := 0;
s := edit1.Text;
for i:= 1 to Strlen(Pchar(s)) do begin
if s[i] = ' ' then begin
a := a+1;
end;
end;
a := a+1;
end;

0

nie no ja sam przestaje rozumiec - jak JEDEN znak moze sie rownac 38??

Może mieć kod ascii 38 :)

0

ehh nie wymyslaj, mowa o znakach w edicie :P

0

no i nie dowiemy sie chyba o co chodzilo..... ja tu sie mecze i probuje cos wymyslec a nawet odpowiedzi od autora nie ma phi :P

0

po prostu chce zakodować liczbe. Sposób: liczba *38 :D :-D :-D :-D

0

Ńie rozumiem, a jak masz w edicie coś takiego:

"435435h43j5h43k5h43k5hk435j3145"

to co dla ciebie jest zmienną A"???

0

A nie chodzi może o to?

a:=38*edit1.length;

Takie coś powinno działać.

0

po prostu chce zakodować liczbe. Sposób: liczba *38 :D :-D :-D :-D

Może chcesz każdą kolejną literę przemłucić przez:
Chr(Ord(Edit.Text[n])*38)

P. S. do rosziego hehehe :-D
6a65736c6920746f20637a797461737a20746f206a6573746573206d617374657220686568650
jesli to czytasz to jestes master hehe

0

Już mam. chodziło o to :
A:=38*lenght(edit1.text)

0

P. S. do rosziego hehehe :-D
6a65736c6920746f20637a797461737a20746f206a6573746573206d617374657220686568650
jesli to czytasz to jestes master hehe

hehe respekt [b]piechnat[/b] :)

1 użytkowników online, w tym zalogowanych: 0, gości: 1