word e erişim.

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
Mahmut Kantar
Üye
Mesajlar: 8
Kayıt: 03 Oca 2008 12:23

word e erişim.

Mesaj gönderen Mahmut Kantar »

S.a

şimdi arkadaşlar bir word dosyası var ve bende bu word dosyasındaki bazı kısımları değiştirmek istiyorum.

yani word dosyasında mahmut ben text kutusuna girdigim degerle bu degeri değiştirmek istiyorum.

bunu nasıl yapabilrim. bana bu konuda yardımcı olurmusunuz

yani nasıl bi mantık geliştirebilirm.
Kullanıcı avatarı
Search
Üye
Mesajlar: 74
Kayıt: 01 Oca 2008 01:03
Konum: Konya

Re: word e erişim.

Mesaj gönderen Search »

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject);
var
   liste:TStringList;
      begin
         liste:=TStringList.Create;
            liste.LoadFromFile('C:\deneme.rtf');
         liste.Text:=AnsiReplacetext(liste.Text,edit1.Text,edit2.text);
     liste.SaveToFile('C:\deneme.rtf');
  liste.free;
end;
end.
edit1 e degiştirilmesini istediğin kelimeyi yaz ;

edit2 ye yeni kelimeyi yaz;

kolay gelsin...
procedure TForm1.FormCreate(Sender: TObject);
begin
showmessage('Dehanın %1 i ilham %99u terdir.');
end;
end.
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Re: word e erişim.

Mesaj gönderen conari »

sitede konuşulmuş konular. :ara ma yapsanız.

viewtopic.php?f=2&t=22252&p=127217
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
Mahmut Kantar
Üye
Mesajlar: 8
Kayıt: 03 Oca 2008 12:23

Re: word e erişim.

Mesaj gönderen Mahmut Kantar »

# Search
yazdıgın kodları çalıştıramadım
:(
Resim
Kullanıcı avatarı
Search
Üye
Mesajlar: 74
Kayıt: 01 Oca 2008 01:03
Konum: Konya

Re: word e erişim.

Mesaj gönderen Search »

Arkadasım forma 2 edit ve bir adet buton koy

butona bu kodları yaz yalnız ('C:\deneme.rtf') yazan yerlere sen kendi acacagın dosyayı yoluyla yazman gerek...

kolay gelsin...
procedure TForm1.FormCreate(Sender: TObject);
begin
showmessage('Dehanın %1 i ilham %99u terdir.');
end;
end.
Kullanıcı avatarı
Mahmut Kantar
Üye
Mesajlar: 8
Kayıt: 03 Oca 2008 12:23

Re: word e erişim.

Mesaj gönderen Mahmut Kantar »

biliyorum o kadarını yav :)
sadece uses e
StrUtils
yazmayı unutmuşum onun için hata veriyordu
şagıdaki fonksiyonu kullansam nasıl olur
AnsiReplacetext den daha iyimi olur ?

Kod: Tümünü seç

function MyAnsiReplace(const aText, aFromText, aToText: string; aAnsiUpperCase, aFirstPosControl: Boolean; var ChangeCount: Integer): string;
var
  I, J: Integer;
  aFirstIndex: Integer;
  St: string;
  aSearchText: string;
  aSearchFromText: string;
  aLengthText: Integer;
  aLengthFromText: Integer;
  aFound: Boolean;
begin
  ChangeCount := 0;

  if (aText = '') or (aFromText = '') then
  begin
    Result := aText;
    Exit;
  end;

  if aFirstPosControl and not aAnsiUpperCase then
    if System.Pos(aFromText, aText) < 1 then
    begin
      Result := aText;
      Exit;
    end;

  if aAnsiUpperCase then
  begin
    aSearchText := AnsiUpperCase(aText);
    aSearchFromText := AnsiUpperCase(aFromText);
    if aFirstPosControl then
      if System.Pos(aSearchFromText, aSearchText) < 1 then
      begin
        Result := aText;
        Exit;
      end;
  end
  else
  begin
    aSearchText := aText;
    aSearchFromText := aFromText;
  end;

  aLengthText := Length(aText);
  aLengthFromText := Length(aFromText);

  Result := '';

  I := 1;
  aFirstIndex := 1;
  repeat
    aFound := aSearchText[I] = aSearchFromText[1];
    if aFound then
    begin
      for J := 2 to aLengthFromText do
        if aSearchText[I + J - 1] <> aSearchFromText[J] then
        begin
          aFound := FALSE;
          Break;
        end;
      if aFound then
      begin
        if aFirstIndex < I then
        begin
          SetLength(St, I - aFirstIndex);
          Move(aText[aFirstIndex], St[1], I - aFirstIndex);
          Result := Result + St;
        end;
        Result := Result + aToText;
        Inc(I, aLengthFromText - 1);
        aFirstIndex := I + 1;
        Inc(ChangeCount);
      end;
    end;

    Inc(I);
  until I > aLengthText;

  if aFirstIndex < I then
  begin
    SetLength(St, I - aFirstIndex);
    Move(aText[aFirstIndex], St[1], I - aFirstIndex);
    Result := Result + St;
  end;
end;

function MyAnsiReplaceStr(const aText, aFromText, aToText: string): string;
var
  aChangeCount: Integer;
begin
  Result := MyAnsiReplace(aText, aFromText, aToText, FALSE, TRUE, aChangeCount);
end;

function MyAnsiReplaceText(const aText, aFromText, aToText: string): string;
var
  aChangeCount: Integer;
begin
  Result := MyAnsiReplace(aText, aFromText, aToText, TRUE, TRUE, aChangeCount);
end;
Resim
Kullanıcı avatarı
Search
Üye
Mesajlar: 74
Kayıt: 01 Oca 2008 01:03
Konum: Konya

Re: word e erişim.

Mesaj gönderen Search »

Onu sen kendin bilcen sana gore en uygun olanı ve isteklerine karsılık vereni kullancan...

kolay gelsin...
procedure TForm1.FormCreate(Sender: TObject);
begin
showmessage('Dehanın %1 i ilham %99u terdir.');
end;
end.
Kullanıcı avatarı
Mahmut Kantar
Üye
Mesajlar: 8
Kayıt: 03 Oca 2008 12:23

Re: word e erişim.

Mesaj gönderen Mahmut Kantar »

son bi soru daha biliyorum kızıyosun ama :oops:
MyAnsiReplace fonksiyonunu edit1,edit2 de nasıl kullanacagım.....
Resim
Cevapla