zapisanie retazca do memo ako sucast funkcie

Programovacie jazyky, rady, poradňa...
javo
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 89
Registrovaný: 15 sep 2006, 21:30
Kontaktovať používateľa:

zapisanie retazca do memo ako sucast funkcie

Príspevok od používateľa javo »

cafet pls potreboval by som jednu vecicku

a sice taku ze potrebujem aby mi funkcia zapisala do komponenty memo nejaky retazec a nejako to nejde

Kód: Vybrať všetko

function funkcia:string;
var
s:string;
begin
.....
memo1.Lines[1]:='retazec';
....
end;
lenze vypisuje Undeclared identifier : 'memo1'

da sa neco take urobit?
potrebujem aby to robila ta funkcia
diki
ppt
Darca
Darca
Používateľov profilový obrázok
Príspevky: 1920
Registrovaný: 27 máj 2006, 11:24
Kontaktovať používateľa:

Príspevok od používateľa ppt »

Premennu, ktoru pouzivas vo funkcii, tak musis deklarovat. Napr:

Kód: Vybrať všetko

function funkcia:string; 
var memo1:string;
s:string; 
begin 
..... 
memo1:='retazec'; 
.... 
end;
javo
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 89
Registrovaný: 15 sep 2006, 21:30
Kontaktovať používateľa:

Príspevok od používateľa javo »

jo ja vim ale ide o to ze do premennej chcem viac riadkov naraz
newies ako na to
?

resp. memo1 by bola komponenta , typu memo
ppt
Darca
Darca
Používateľov profilový obrázok
Príspevky: 1920
Registrovaný: 27 máj 2006, 11:24
Kontaktovať používateľa:

Príspevok od používateľa ppt »

Potom pouzi polia:
function funkcia:string;
var memo1=array[1..10]of string;
s:string;
begin
.....
memo1[1]:='retazec1';
memo1[2]:='retazec2';
memo1[3]:='retazec3';
memo1[4]:='retazec4';
.
.
.
memo1[10]:='retazec10';
....
end;
Samozrejme, ze vkladanie do polia je jednoduchsie cez cyklus (ak to je v danom priklade mozne):
for i:=1 to 10 do memo1:='reztazec';


edit:// :oops: co je to komponenta?
javo
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 89
Registrovaný: 15 sep 2006, 21:30
Kontaktovať používateľa:

Príspevok od používateľa javo »

ale tu nejde o to ci to zapisujem pomocou array alebo string
pri array sa vyskytol ten isty problem
memo1[4]:=edit1.text;

undelclared identifier 'edit1'
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

nanaplňa sa memo náhodou takýtmo spôsobom?:

Kód: Vybrať všetko

memo1.Lines.Add('riadok1');
memo1.Lines.Add('riadok2');
memo1.Lines.Add('riadok3');
alebo v tvojom prípade:

Kód: Vybrať všetko

memo1.Lines.Add(Edit1.Text);
javo
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 89
Registrovaný: 15 sep 2006, 21:30
Kontaktovať používateľa:

Príspevok od používateľa javo »

moze sa aj takym , je na to viac sposobou, ten moj funguje ale nie vtedy ked je vsadeny vo funkcii, neviem co robim zle,
a vsadeny do funkcie nefunguje ani ten sposob co uvadzas ty
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Príspevok od používateľa audiotrack »

no neviem, ale mne to ide v poriadku:

Kód: Vybrať všetko

procedure TForm1.Button1Click(Sender: TObject);
  function funkcia:string;
  begin
  memo1.Lines.Add('retazec');
  end;
begin
showmessage('ahoj');
funkcia;
end;
showmessage som dal aby bolo možné overiť že sa kod vykoná a tiež nabehne do mema reťazec. Zdroják aj exe máš v prílohe
Prílohy
hojko.rar
(171.1 KiB) 84 stiahnutí
javo
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 89
Registrovaný: 15 sep 2006, 21:30
Kontaktovať používateľa:

Príspevok od používateľa javo »

diki uz by to malo ist
programator
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 18 apr 2005, 8:31
Bydlisko: Papua new Guinea
Kontaktovať používateľa:

Re: zapisanie retazca do memo ako sucast funkcie

Príspevok od používateľa programator »

javo napísal:cafet pls potreboval by som jednu vecicku

a sice taku ze potrebujem aby mi funkcia zapisala do komponenty memo nejaky retazec a nejako to nejde

Kód: Vybrať všetko

function funkcia:string;
var
s:string;
begin
.....
memo1.Lines[1]:='retazec';
....
end;
lenze vypisuje Undeclared identifier : 'memo1'

da sa neco take urobit?
potrebujem aby to robila ta funkcia
diki
Nie...zle ti poradili... vysvetlim ti to..
mas hlavnu triedu formulara, dajme tomu ze vyzera takto :

Kód: Vybrať všetko

Tformular = class(TForm)
    memo1: TMemo;
  private
    { Private declarations }
  public
    { Public declarations }
  end;
A ty ked chces priradit memo1 nejaku hodnotu, tak mas 2. moznosti : bud tu tvoju fciu pridas medzi metody triedy, a tym padom hu budes musiet nadeklarovat ako TFormular.funkcia, teda vyzeralo by to takto :

Kód: Vybrať všetko

Tformular = class(TForm)
    memo1: TMemo;
  private
    { Private declarations }
  public
    function funkcia : string;
    { Public declarations }
  end;
, alebo jednoducho das pred to memo1 vo tvojej funkcii nazov instancie danej triedy... teda to bude vyzerat takto :

Kód: Vybrať všetko

function funkcia:string;
var
s:string;
begin
.....
formular.memo1.Lines[1]:='retazec';
....
end;
A tym padom je vsetko v poriadku, lebo ta vlastnost "memo1" sa nachadza v triede TFormular... a ty ku vlastnostiam tejto triedy mozes pristupovat jedine cez danu instanciu triedy a samozrejme este pokial su tie vlastnosti public...
javo
Medium Expert
Medium Expert
Používateľov profilový obrázok
Príspevky: 89
Registrovaný: 15 sep 2006, 21:30
Kontaktovať používateľa:

Re: zapisanie retazca do memo ako sucast funkcie

Príspevok od používateľa javo »

programator napísal:...
diki moc krat
idem sa s tym pohrat kapku viac
Napísať odpoveď