edit içindeki text i bölme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
yusuf
Üye
Mesajlar: 139
Kayıt: 20 Tem 2005 11:05
Konum: İSTANBUL

edit içindeki text i bölme

Mesaj gönderen yusuf »

selam arkadaşlar bir editin içine yazılan texti harf harf bölme
yani edit1.text içine yazılan yusuf kelimesini edit2 içine (Y) edit3 içine (U) edit4 içine (S) edit4 içine (U) edit5 içine (F) gibi nasıl bölerim
yardımlarınız için şimdiden teşekkürler.
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ç

var
    str:string;
begin
    str:= 'yusuf';
    edit1.text := copy(str,1,1);
    edit2.text := copy(str,2,1);
    edit3.text := copy(str,3,1);
    edit4.text := copy(str,4,1);
    edit5.text := copy(str,5,1);
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.
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Mesaj gönderen conari »

Kod sanırım bu şekilde olmalı
yani edit1.text her zaman Yusuf a eşit olmayabilir.

Kod: Tümünü seç

var 
    str:string; 
begin 
    str:= edit1.text; 
    edit2.text := copy(str,1,1); 
    edit3.text := copy(str,2,1); 
    edit4.text := copy(str,3,1); 
    edit5.text := copy(str,4,1); 
    edit6.text := copy(str,5,1);

ayrıca edit1.text in in karakter sayısıda önemli o kadar 2.3. editler oluşmalı..
Kullanıcı avatarı
Asri
Kıdemli Üye
Mesajlar: 767
Kayıt: 16 Eyl 2003 09:54
Konum: istanbul

Mesaj gönderen Asri »

Olayı biraz daha komplex ve karakter sayısı bağımsız yapalım :)

edit1.text e istediğiniz uzunlukta karakter girebilirsiniz. Gerekli sayıda edit nesnesini kendisi oluşturup her bir karakteri içine yerleştiriyor.

Kod: Tümünü seç

unit Unit1;

interface

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

type
  TForm1 = class(TForm)
    button1: TButton;
    Edit1: TEdit;
    procedure button1Click(Sender: TObject);
  private
    { Private declarations }
    procedure editleri_ucur;
  public
    { Public declarations }
  end;


var
  Form1: TForm1;
  yeniedit: TEdit;
  c: TComponent;
  sonkayit,i:integer;
  s1,gec:string;

implementation

{$R *.dfm}
function GetComponent(AParent: TComponent; Name: string): TComponent;
var
   n: integer;
begin
     Result:=nil;
     if AParent.ComponentCount=0 then Exit;
     for n:=0 to AParent.ComponentCount-1 do
         if CompareStr(AParent.Components[n].Name,Name)=0 then
            Result:=AParent.Components[n];
end;

procedure tform1.editleri_ucur;
begin
  for i:=0 to sonkayit-1 do
  begin
    c:=GetComponent(Self,'yeniedit'+IntToStr(i+1));
    if (c<>nil) and (c is TEdit) then
    begin
     TEdit(c).free;
    end;

  end;
end;


procedure TForm1.button1Click(Sender: TObject);
begin
  form1.Height:=228;
  editleri_ucur;

  s1:=edit1.text;
  for i:=1 to length(s1) do
  begin

    gec:=copy(s1,i,1);
    yeniEdit := TEdit.Create(self);
    yeniEdit.Parent := Form1;
    yeniEdit.Top := 65+(i*30);
    yeniEdit.left:= 10;

    yeniedit.Name:='yeniedit'+inttostr(i+1);

    c:=GetComponent(Self,'yeniedit'+IntToStr(i+1));
    if (c<>nil) and (c is TEdit) then
    begin
     TEdit(c).Text:=gec;
     tedit(c).Width:=50;
    end;

     if i>=4 then
     begin
        form1.Height:=form1.Height+50
     end;
  end;
  sonkayit:=i+1;

end;
end.
DFM dosyası

Kod: Tümünü seç

object Form1: TForm1
  Left = 192
  Top = 114
  Width = 696
  Height = 480
  Caption = 'Form1'
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -11
  Font.Name = 'MS Sans Serif'
  Font.Style = []
  OldCreateOrder = False
  PixelsPerInch = 96
  TextHeight = 13
  object button1: TButton
    Left = 88
    Top = 56
    Width = 75
    Height = 25
    Caption = 'button1'
    TabOrder = 0
    OnClick = button1Click
  end
  object Edit1: TEdit
    Left = 88
    Top = 16
    Width = 121
    Height = 21
    TabOrder = 1
    Text = 'Asri'
  end
end
Öğrenmek ve öğretmek, akıntıya karşı yüzmek gibidir ilerleyemediğiniz taktirde gerilersiniz.
yusuf
Üye
Mesajlar: 139
Kayıt: 20 Tem 2005 11:05
Konum: İSTANBUL

Mesaj gönderen yusuf »

Arkadaşlar Elinize sağlık çok güzel oldu. bunu data üzerindede uygulayabilirim herhalde yani edit1.text üzerinde değilde (Table1ADI) Üzerinde de değiştirerek kullanılır sanırım
Kullanıcı avatarı
drony
Üye
Mesajlar: 48
Kayıt: 10 Tem 2004 04:41
Konum: Istanbul
İletişim:

Mesaj gönderen drony »

edit1.text[1]
edit1.text[2]
edit1.text[3]
şeklindede tek tek alınabilir.
Cevapla