Warning Nu esti autentificat. Te rog autentifica-te sau inregistreaza-te pentru a avea acces la toate facilitatile forumului.
SkullBox  
Noiembrie 22, 2008, 05:12:26 pm
Bine ai venit, Vizitator. Trebuie să te autentifici sau să îţi creezi un cont.
Ai pierdut sau nu ai primit emailul care conţine codul de activare al contului?

Autentifică-te cu numele de utilizator, parola şi precizează durata sesiunii.
Noutăţi: SmLex DeviantART
 
 SkullBoxDirector webTutoriale  Pagina principală   Ajutor Caută Autentificare Creează un cont  
Pagini: [1]
  Imprimă  
Subiect: Nelamurire vectori  (Citit de 438 ori)
0Utilizatori şi 1 Vizitatori
dannypapuc
Newbie
*
Deconectat Deconectat

Mesaje: 49


Nelamurire vectori, Ianuarie 26, 2008, 12:07:00 pm

salut.am si eu o rugaminte: cine imi poate explica cum pot lucra cu mai multe obiecte de acelasi tip.
de ex daca am 5 memo,si vreau sa-mi apara un mesaj cand scriu ceva in ele,folosind functia for...do

Memo1
Memo2
Memo3
Memo4
Memo5
 sa initializez o var i care sa-mi tina minte numarul lui memo. adica Memo...

for i:=1 to 5 do
if MemoChange then ShowMessage('text');

sper ca m/ati inteles.
multumesc anticipat.
Memorat

Noaptea-i mica multi pe ea...
tw8
Sr. Member
****
Deconectat Deconectat

Mesaje: 429



Nelamurire vectori, Ianuarie 26, 2008, 12:53:56 pm

Ajuta-ma sa inteleg. Tu citesti niste valori, dupa care bati enter. Vrei ca atunci cand una dintre ele a fost citita sa apara  un mesaj... corect?
Astept detalii, dar o sa iti fac in pseudocod, pentru ca nu stiu Pascal/Delphi.
Memorat
AdyX
Bagabond
Global Moderator
Hero Member
*****
Conectat Conectat

Gen: Bărbat
Mesaje: 987


WWW
Nelamurire vectori, Ianuarie 26, 2008, 02:05:25 pm

In primul rand, trebuie sa declari libraria StdCtrls
Cod:
uses StdCtrls;
Apoi declari un vector de Memo-uri
Cod:
var x: array[1..5] of TMemo;
La eventul onCreate al formei trebuie sa creezi Memo-urile
Cod:
procedure TForm1.FormCreate(Sender: TObject);
var i: byte;
begin
  for i:=1 to 5 do begin
    x[i]:=TMemo.Create(Self);
    x[i].Parent:=Form1;
    x[i].Left:=...;
    x[i].Top:=...;
    ...................
  end;
end;
Bafta!
Memorat
v0id
Newbie
*
Deconectat Deconectat

Mesaje: 11



Nelamurire vectori, Februarie 02, 2008, 01:29:51 am

Exista mai multe variante, eu iti dau doua dintre ele. In ambele variante, memo-urile sunt create la design-time. Daca vrei sa le creezi la runtime, folosesti ce ti-a scris AdyX mai sus...

In exemplul meu am folosit 2 memo-uri. Tu poti sa pui cate vrei. Ideea e ca daca vrei sa folosesti varianta fara array-uri, trebuie doar sa asignezi procedura DoOnMemoChange event-urilor de OnChange ale fiecarui memo.
Daca vrei sa folosesti varianta cu array, nu mai trebuie sa faci nimic... Pune cate memo-uri vrei pe form.


Cod:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Memo1: TMemo;
    Memo2: TMemo;
    Memo3: TMemo;
    procedure DoOnMemoChange(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
    MemoArray : array of TMemo;
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}


procedure TForm1.DoOnMemoChange(Sender: TObject);
begin
  if (Sender is TMemo) then
    ShowMessage((Sender as TMemo).Name + ' changed');
end;


procedure TForm1.FormCreate(Sender: TObject);
var iCounter   : integer;
    lMemoCount : integer;
begin
  {Fara array}
  Memo1.OnChange := DoOnMemoChange;
  Memo2.OnChange := DoOnMemoChange;
  Memo3.OnChange := DoOnMemoChange;

  {Cu array}
  lMemoCount := 0;
  for iCounter := 0 to Self.ComponentCount - 1 do
    if (Self.Components[iCounter] is TMemo) then
      begin
        (Self.Components[iCounter] as TMemo).OnChange := DoOnMemoChange;
        Inc(lMemoCount);
        SetLength(MemoArray, lMemoCount);
        MemoArray[lMemoCount-1] := TMemo(Self.Components[iCounter]);
      end;
end;

end.
Memorat
HostGator
Newbie
*
Mesaje: Multe

Reclamă cu aligatori
 

Ai auzit de aligatorul care ofera hosting?
 
   
Pagini: [1]
  Imprimă  
 
Schimbă forumul:  

Creat cu MySQL Creat cu PHP Ethical hacking and programming community Director web romanesc cu inscriere gratuita Validat cu XHTML 1.0! Validat cu CSS!
IPFind, FAQDB, LAMP.ro, Good Proxy, Aberez.EU, RoFreeSBIE, ShockingSoft.com, HostVision, Invatam.net, PC Troubleshooting, Curs valutar online
Powered by SMF 1.1.7 | SMF © 2006-2008, Simple Machines LLC
Traducerea în limba română © 2006-2007 www.smf.ro