döngü ile olusturulan editler

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

döngü ile olusturulan editler

Mesaj gönderen abdulkadir »

S.A

Hemen soruya geçiyrum :)

x:array[1..30]of TEdit; ile

for ia:=ComboBox1.ItemIndex to ComboBox2.ItemIndex do


dan sonra max 30 olmak uzere secim adedi ile edit create ediliyor


editlerin text sini alıp yanına (,) koyup kaydediyorum
edit1,
edit2,
edit3, gibi

Burda burda en sondaki (,) fazla atamadım

sevgiler

Ya ufacık sey basıma bela oldu :)
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Dostum yazmış olduğun kodu tam olarak yazabilirmisin.

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Mesaj gönderen abdulkadir »

Kod: Tümünü seç

x:array[1..30]of Takl_Edit;


procedure TForm2.Edit_Uret;
 var
 ia:integer;
 Begin
 for ia:=ComboBox1.ItemIndex to ComboBox2.ItemIndex do
 Begin
 x[ia]:=Takl_Edit.Create(Self);
 x[ia].Left:=2;
 x[ia].Top:=(ia-0)*20;
 x[ia].Width:=160;
 x[ia].Height:=20;
 x[ia].Cursor:=crDefault;
 x[ia].Parent:=akl_GradPanel4;
 x[ia].Text:='Alan Adı '+IntToStr(ia);
 x[ia].Name:='akl_Edit'+IntToStr(ia);
 end;
 end;
//--------------------kayı için------------------------//
for i:= 0 to ComponentCount -1  do
    begin
if Components[i] is Takl_edit then
  with Takl_edit(Components[i]) do begin
ClipBoard.SetTextBuf(PChar(inttostr(bul)+name+virgul+ #13 ));
Form1.RichEdit1.PasteFromClipboard;


gereksiz bazı seyleri kestim
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Kod: Tümünü seç

for i:= 0 to ComponentCount -1  do 
    begin 
if Components[i] is Takl_edit then 
  with Takl_edit(Components[i]) do begin 
if componentCount = components[i] Then
begin
  ClipBoard.SetTextBuf(PChar(inttostr(bul)+name+ #13 )); 
  break;
end;  
  ClipBoard.SetTextBuf(PChar(inttostr(bul)+name+virgul+ #13 )); 

Form1.RichEdit1.PasteFromClipboard; 

Bu şekilde kullanmayı dene.

Kolay gelsin

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Mesaj gönderen abdulkadir »

maalesef olmadı
[Error] Unit2.pas(80): Incompatible types
hata satırı
--> if componentCount = Components[ie] Then <---

kodları temize aldım yazıyorum

Kod: Tümünü seç


unit Unit2;

interface

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

type
  TForm2 = class(TForm)
    ComboBox1: TComboBox;
    ComboBox2: TComboBox;
    Panel1: TPanel;
    Button1: TButton;
    procedure ComboBox2Change(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
  procedure Edit_Uret;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form2: TForm2;
  x:array[1..30]of Tedit;
 i:integer;
implementation
 uses
 unit1;
{$R *.dfm}
//--------------PROCEDURE------Edıt--create------------
 procedure TForm2.Edit_Uret;
 var
 ia:integer;
 Begin
 for ia:=ComboBox1.ItemIndex to ComboBox2.ItemIndex do
 Begin
 x[ia]:=TEdit.Create(Self);
 x[ia].Left:=2;
 x[ia].Top:=(ia-0)*20;
 x[ia].Width:=160;
 x[ia].Height:=20;
 x[ia].Cursor:=crDefault;
 x[ia].Parent:=Panel1;
 x[ia].Text:='Alan Adı '+IntToStr(ia);
 x[ia].Name:='Edit'+IntToStr(ia);
 end;
 end;
//-----ADET--SEC--//-CREATE--EDIT----------
procedure TForm2.ComboBox2Change(Sender: TObject);
var
i:integer;
    begin
if (ComboBox1.ItemIndex=-1)then
   begin
ShowMessage('baslama limiti seciniz');
end
else
     begin
     for i:= 0 to ComponentCount -1 do
    BEgin
//ComboBox 2. kez secilirse
if Components[i] is Tedit then
    with Tedit(Components[i]) do begin
    //hide;      //gizle ok
    //free;      //eskiyi yok et yok et ---hata var (-1-)
    Name:=''; //yeniden adlandır ok
end;
end;
 Edit_Uret;
end;
end;
//---------------KAYIT------------------------------
procedure TForm2.Button1Click(Sender: TObject);
var
ie:integer;
   begin
for ie:= 0 to ComponentCount -1  do
    begin
if Components[ie] is Tedit then
  with Tedit(Components[ie]) do begin
if componentCount = Components[ie] Then
    begin
 ClipBoard.SetTextBuf(PChar(name+ #13 ));
  break;
end;
  ClipBoard.SetTextBuf(PChar(name+','+ #13 ));

Form1.RichEdit1.PasteFromClipboard;
end;
end;
end;
//---------------------------------------------
end.
ayrıca ilgine tesekkür ederim
sevgiler
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Kod: Tümünü seç

if componentCount = ie Then
    begin
ClipBoard.SetTextBuf(PChar(name+ #13 ));
  break;
end;
Birde şu şekilde dene

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Mesaj gönderen abdulkadir »

hocam denemistim zaten
hata yok ama son , (virgul) ü atmıyor

aslında sondaki degilde bastakide atılsa olur
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

kodu tam incelemedim ama eger bir string icinden bir karakter silmek istiyorsan
mesela str den son karakteri silmek icin

Delete(str,length(str),1);
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Mesaj gönderen abdulkadir »

merhaba hocam

evet string içinden karakter silmek istiyorum
ama önce o stringe ulasmam gerekiyor ki silebileyim

Ben devam edeyim :) ulasmam lazım

selamlar
abdulkadir
Kıdemli Üye
Mesajlar: 489
Kayıt: 13 Eyl 2003 09:10
Konum: istanbul
İletişim:

Mesaj gönderen abdulkadir »

simdilik bu sekilde cözdüm daha iyisini ögrenene kadar idare eder
yardımlareınız için tesekkür ederim.

Kod: Tümünü seç

var
x:array[0..30]of Tedit;

procedure TForm2.Button1Click(Sender: TObject);
var
ie:integer;
    begin
for ie:= 0 to ComponentCount -1  do
    begin
if Components[ie] is Tedit then
  with Tedit(Components[ie]) do begin
//x[0].Text:='str';                   //en bastaki
//x[ComboBox2.ItemIndex].Text:='str'; //en sondaki

text:=','+text;   //tumune ',' ekle
x[0].Text:= AnsiReplaceText(x[0].Text,',','');

ClipBoard.SetTextBuf(PChar(text));
Form1.RichEdit1.PasteFromClipboard;
end;
end;
end;
sevgiler
Cevapla