Gidiş Yolu Doğru mu?

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
futbolcu
Üye
Mesajlar: 129
Kayıt: 02 Tem 2003 07:33
Konum: Ankara

Gidiş Yolu Doğru mu?

Mesaj gönderen futbolcu » 01 Eyl 2003 08:53

Merhaba arkadaşlar

Belki Mustafa Hocam anımsar;
benim qbasic kodlarını pascal
kodlarına dönüştüren(en azından bir miktar)
proje çalışmam vardı. :)
E biraz Pascal çalıştık, ama sabır da tükendi..
Şöyle bir function yazdım:

function degistir(var x,y:string):string;
var
depo:string;
begin
depo:=x;
x:=y;
y:=depo;
result:=y; //galiba burada bir sorun var
end;
procedure TForm1.Button1Click(Sender: TObject);
var
a,b:string;
begin
a:='input';
b:='read'; //
memo1.lines.Text:=degistir(a,b);
end;
end.


Ufak bir yardım olmaz biliyorum ama
en azından bu fonksiyondaki hata nedir
ya da bu program için başka bir yöntem var mı? Yardım ve ipucu verirseniz, hatta tamamlarsanız :wink: (Bu kadar da fazla olur tabi)
sevinirim. Bitince zaten burada sizlerle paylaşacağım. Söz
Bilgi çoğaldıkça krallar ölür

Kullanıcı avatarı
lazio
Moderator
Mesajlar: 1526
Kayıt: 11 Tem 2003 03:55
Konum: İstanbul
İletişim:

Mesaj gönderen lazio » 01 Eyl 2003 11:27

result := x;

Kullanıcı avatarı
futbolcu
Üye
Mesajlar: 129
Kayıt: 02 Tem 2003 07:33
Konum: Ankara

Mesaj gönderen futbolcu » 02 Eyl 2003 06:25

yok lazio hocam olmadı. Yukarıdaki koddan bişey çıkmadı : :!:

ancak şu kod:

Function Degistir(Memo:TMemo;eski,Yeni:String):Integer;
Var
t:String;
i,a,b,c:Integer;
begin
c:=0;
a:=Length(eski);
For i:=0 to Memo.Lines.Count-1 do
Begin
t:=Memo.Lines.Strings;
b:=Pos(eski,t);
If b<>0 Then
Begin
Memo.Lines.Strings:=Copy(t,1,b-1)+Yeni+Copy(t,a+b,Length(t)-(a+b-1));
Inc(c);
End;
End;
Degistir:=c;
End;

procedure TForm1.Button1Click(Sender: TObject);
begin
Degistir(Memo1,'input','read?');
degistir(memo1,'print','write');
end;


//Sorun ne?
// aramayı tüm metin boyunca yapacak bir döngü yazmalı
// büyük küçük harf ayrımını yapmadan değiştirmeli
// sadece verilen kelimeyi değiştirmeli
// diyelim sinput yazdığımda read olarak değiştirmemeli..
:?:
Acaba bu yöntem doğru bir yöntem değil mi?
//
Bilgi çoğaldıkça krallar ölür

yskilic
Üye
Mesajlar: 44
Kayıt: 17 Haz 2003 11:55
Konum: İstanbul

Mesaj gönderen yskilic » 02 Eyl 2003 09:16

bir şey sormak istiyorum. şimdi olayı bir nebze kafamda canlandırdım. iyi bir uğraş verilirse kelime kelime çeviri yapılabilir belki.

ama sonuç olarak döngü ve karar yapılarına geldiğinizde çakılıp kalma ihtimaliniz var gibime geliyor. çünkü herkes bu kodları çok farklı şekillerde yazıyor. en ufak bir standarda sahip değiller. bu aşama için bir fikir geliştirdiniz mi?
Y.S.K.
Yazılım Sistemleri

Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2151
Kayıt: 12 Haz 2003 03:05
Konum: merkez camii yanı

Mesaj gönderen freeman35 » 03 Eyl 2003 07:58

Function Degistir(VAR Memo:TMemo;eski,Yeni:String):Integer;
function içerisinden dışarıya değer çıkartabilmek için var tanımlanmalı, Ancak sendeki sorun bu değildir, çünkü class gönderilirse bu pointer olarak gönderildiğinden bir sorun çıkmaz.
Diğer taraftan help içinde detaylı bilgi var. Deleteve Insert Bunlar stringler üzerinde işlem için bunları kullan.
Birde Strings üzerinde değilde başka bir variable üzerinde işlem yapıp en son Strings e atama yap
Kolay gele
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 !!!

Kullanıcı avatarı
futbolcu
Üye
Mesajlar: 129
Kayıt: 02 Tem 2003 07:33
Konum: Ankara

Mesaj gönderen futbolcu » 04 Eyl 2003 06:24

Değerli görüşleri için arkadaşlara teşekkür ederim.

Aslında bu program içerisinde kullanmayı düşündüğüm bir çok hazır fonksiyon var ama bu fonksiyonların aynı anda çalışmasını nasıl sağlayabilirim?

yani diyelim benim
print"beşiktaş" olan bir basic kodum var bunu:
write('beşiktaş'); şeklinde yazmam için
tüm " karakterlerini ' yapmam gerekli. Bunun için malumunuz olmak üzere; karakterleri değiştiren ya da silen fonksiyonlar var..
Bilgi çoğaldıkça krallar ölür

Kullanıcı avatarı
freeman35
Admin
Mesajlar: 2151
Kayıt: 12 Haz 2003 03:05
Konum: merkez camii yanı

Mesaj gönderen freeman35 » 04 Eyl 2003 08:53

Tüm Komutları tek tek kontrol etmen gerekecek, Bunu yaparken şunları unutma yanlız, mesala print" yerine print " yazılmış olabilir bunların kontrolüde olmalı, bunu yapabilmenin yolu print arattıracaksın daha sonrada " bulana kadar devam edeceksin tabi alttaki satırdada olabilir. bu QBasic gibi editor kullanan basicler için geçerli
bir diğer konuda bazı basic komutlarını direk çeviremezsin parametreleri falan farklıdır
Kolay gele
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 !!!

Cevapla