döngü memoda olmadi
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
döngü memoda olmadi
for I := memo1.lines.Count - 1 downto 0 do
memo1.Lines.Text:=_GetduzeltChar(memo1.Lines.text, 9));
bu kodla memodaki sadece 9. karakteri farkli duzelterek aliyorum.
istedigim memodaki tüm karakterleri duzelterek tekrar memoya yazdırmak. asagıdaki gibi birkac sey yaptim beceremedim olmadi. nasil yaparim.
for I := memo1.lines.Count - 1 downto 0 do
memo1.Lines.Text:=_GetduzeltChar(memo1.Lines.text, length(memo1.Lines));
memo1.Lines.Text:=_GetduzeltChar(memo1.Lines.text, 9));
bu kodla memodaki sadece 9. karakteri farkli duzelterek aliyorum.
istedigim memodaki tüm karakterleri duzelterek tekrar memoya yazdırmak. asagıdaki gibi birkac sey yaptim beceremedim olmadi. nasil yaparim.
for I := memo1.lines.Count - 1 downto 0 do
memo1.Lines.Text:=_GetduzeltChar(memo1.Lines.text, length(memo1.Lines));
Re: döngü memoda olmadi
Karakter düzeltmekten kastın nedir?
memo1.Lines.Text bu zaten bir sring döndürür. işlemlerini yapıp tekrar geri yükleyebilirsin. bu durumda döngü manasız.
memo1.Lines.Text:=_GetduzeltChar(memo1.Lines.text, length(memo1.Lines.text));
yada
yada burayı incele, döngü ile kullanmak istenirse
https://docwiki.embarcadero.com/CodeExa ... s_(Delphi)
memo1.Lines.Text bu zaten bir sring döndürür. işlemlerini yapıp tekrar geri yükleyebilirsin. bu durumda döngü manasız.
memo1.Lines.Text:=_GetduzeltChar(memo1.Lines.text, length(memo1.Lines.text));
yada
Kod: Tümünü seç
S:= memo1.Lines.Text
S:=_GetduzeltChar(S, length(S)); //-> length i göndermek neden? function içinde bunu yazmak daha mantıklı
memo1.Lines.Text:= S;
https://docwiki.embarcadero.com/CodeExa ... s_(Delphi)
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Re: döngü memoda olmadi
length yi kullaninca sadece son karakteri harfi (1 tane olarak) geri ceviriyor memoya.
istedigim tüm karakterleri cevirerek memoya yazsin.
yani length-1, length-2 length-3 gibi
duzelt fonksiyonum soyle
function _GetduzeltChar(const AText: string; CharPos: Integer): Char;
var
Ch : Char;
Len : Integer;
begin
Len := Length(AText);
if CharPos > Len then Exit;
Ch := Chr(Ord(Atext[CharPos]));
if (ChrInSet(Atext[CharPos-1], cChAsEnd)) then begin
if CharPos = Len then
Exit(Ch)
else begin
CharPos := 1; // retrun a beginning form
end;
end;
Result := Ch;
if ( Ch = cA[0] ) then begin
if (CharPos = 1) then
Result := Ch
else
Result := cA[2]
end;
...........
istedigim tüm karakterleri cevirerek memoya yazsin.
yani length-1, length-2 length-3 gibi
duzelt fonksiyonum soyle
function _GetduzeltChar(const AText: string; CharPos: Integer): Char;
var
Ch : Char;
Len : Integer;
begin
Len := Length(AText);
if CharPos > Len then Exit;
Ch := Chr(Ord(Atext[CharPos]));
if (ChrInSet(Atext[CharPos-1], cChAsEnd)) then begin
if CharPos = Len then
Exit(Ch)
else begin
CharPos := 1; // retrun a beginning form
end;
end;
Result := Ch;
if ( Ch = cA[0] ) then begin
if (CharPos = 1) then
Result := Ch
else
Result := cA[2]
end;
...........
Re: döngü memoda olmadi
Ne yapmak istediğiniz halen anlaşılmıyor.
Daha önce de soruldu size ancak cevap vermediniz.
"Karakter düzeltmek" ne demek?
Yapmaya çalıştığınız iş nedir?
Örnek veriler ile önceki hali, sonraki hali şeklinde yazabilir misiniz?
Daha önce de soruldu size ancak cevap vermediniz.
"Karakter düzeltmek" ne demek?
Yapmaya çalıştığınız iş nedir?
Örnek veriler ile önceki hali, sonraki hali şeklinde yazabilir misiniz?
Re: döngü memoda olmadi
tam olarak yapmak istedigim bu
https://codegolf.stackexchange.com/ques ... ation-form
https://codegolf.stackexchange.com/ques ... ation-form
Re: döngü memoda olmadi
Arapça ile hiç tecrübem olmadı ve yapmak istediğinizi verdiğiniz bağlantıdan anlayamadım. Sanırım bu bağlantı nihai hedefiniz.
Diğer taraftan Memo ile yapmaya çalıştığınızı anlayamadım. Kendi cümleleriniz ile ifade edebilir misiniz?
Tek tek her harfi kontrol etmek mi istiyorsunuz? Değiştirmek mi istiyorsunuz?
Diğer taraftan Memo ile yapmaya çalıştığınızı anlayamadım. Kendi cümleleriniz ile ifade edebilir misiniz?
Tek tek her harfi kontrol etmek mi istiyorsunuz? Değiştirmek mi istiyorsunuz?
Re: döngü memoda olmadi
memodaki her harfi tek tek kontrol ederek değiştirmek istiyorum.
fonksiyon sadece 1 harfi kontrol edip memoya yaziyor.
halbuki memoda yuzlerce harf olacak.
fonksiyon sadece 1 harfi kontrol edip memoya yaziyor.
halbuki memoda yuzlerce harf olacak.
Re: döngü memoda olmadi
Aşağıdaki gibi bir kod ile her harfi tek tek kontrol edebilirsiniz.
Kodu çalıştırabilmek için boş bir proje açıp içine Memo1 ve Button1 nesnelerini eklemeli ve gerekli olay atamalarını yapmalısınız.
NOT: Kod Delphi 10.4.2 ile hazırlanmıştır. Delphi 7 gibi eski bir sürüm kullanıyorsanız yeni sürümlerden birine geçmenizde büyük fayda var. Yapmak istediğiniz işlem Unicode desteği gerektirdiği için Delphi 7'de oldukça uğraşılı olacaktır.
Kod: Tümünü seç
unit Unit1;
interface
uses
Winapi.Windows,
Winapi.Messages,
System.SysUtils,
System.Variants,
System.Classes,
Vcl.Graphics,
Vcl.Controls,
Vcl.Forms,
Vcl.Dialogs,
Vcl.StdCtrls;
type
TForm1 = class(TForm)
Memo1: TMemo;
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
procedure HarfleriKontrolEt(var Veri: string);
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
Metin: string;
begin
// İçeriğini değiştirme olasılığına karşılık bir değişkene değeri okunuyor
Metin := Memo1.Text;
// İşlem yapılıyor
HarfleriKontrolEt(Metin);
// İşlem sonucu aynı memo içine yazılıyor.
// Farklı memo içine de yazılabilir veya farklı şekillerde de kullanılabilir.
Memo1.Text := Metin;
end;
procedure TForm1.HarfleriKontrolEt(var Veri: string);
var
I: Integer;
KontrolEdilecekKarakter: Char;
begin
for I := Low(Veri) to High(Veri) do
begin
KontrolEdilecekKarakter := Veri[I];
// Burada yapmak istediğiniz kontrolü gerçekleştireceksiniz.
// Aşağıdaki if sadece örnek olarak eklendi
if KontrolEdilecekKarakter = ' ' then
begin
// Eğer karakteri değiştirmek istiyorsak aşağıdaki şekilde yapabiliriz
Veri[I] := ',';
end;
end;
end;
end.
NOT: Kod Delphi 10.4.2 ile hazırlanmıştır. Delphi 7 gibi eski bir sürüm kullanıyorsanız yeni sürümlerden birine geçmenizde büyük fayda var. Yapmak istediğiniz işlem Unicode desteği gerektirdiği için Delphi 7'de oldukça uğraşılı olacaktır.
Re: döngü memoda olmadi
http://www.delphibasics.co.uk/RTL.asp?N ... ingreplace
ister harf kullanabilirsin, istersen kelime,
Başkalarının kodlarını kullanacaksan, sadece sonuca odaklanıp copy paste ile kullanmayın. Kodun nasıl çalıştığını inceleyin. mesela ChrInSet ne ? ne iş yapar nasıl çalışır. Bunu yapmak kendi programcılığını geliştirir. Ben hala yaparım.
ister harf kullanabilirsin, istersen kelime,
Başkalarının kodlarını kullanacaksan, sadece sonuca odaklanıp copy paste ile kullanmayın. Kodun nasıl çalıştığını inceleyin. mesela ChrInSet ne ? ne iş yapar nasıl çalışır. Bunu yapmak kendi programcılığını geliştirir. Ben hala yaparım.
ZAGOR TENAY TÜRK'tür... TÜRK kalacak...
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!
Zoru başarırım, İmkansız zaman alır
FreeMan 35.5
Soru sormaya üşenmiyorsan, sorunun çözümünü yazmaya da üşenme !!!