• 20-09-2013, 10:04:29
    #10

  • 21-09-2013, 02:07:29
    #11
    zinan adlı üyeden alıntı: mesajı görüntüle

  • 21-09-2013, 12:55:21
    #12
    Pekala, o zaman şunu deneyebilir misin;

    (memo1 in metnini prosedür içinden değiştiriyorum onu iptal edip kendin yazabilirsin)

    procedure TForm1.Button1Click(Sender: TObject);
      function IndexOfArray(const Value: String; Items: array of String): Integer;
      var
        i: Integer;
      begin
        Result := -1;
        for i := Low(Items) to High(Items) do
        begin
          if AnsiSameText(Value, Items[i]) then
          begin
            Result := i;
            Break;
          end;
        end;
      end;
    const
      arrKelimeler : array[0..5] of string = ('isim','hekim','resim','ad','doktor','fotograf');
      arrEsanlamlilar : array[0..5] of string = ('ad','doktor','fotograf','isim','hekim','resim');
    var
      liste : TStringList;
      i,j: integer;
    begin
      memo1.Lines.Text := 'satır 1 isim resim ad ' +#13+
              'satır 2 fotograf resim aynısı' +#13+
              'satır 3 deneme ad sinan';
      memo2.Lines.Clear;
      try
        liste := Tstringlist.Create;
        liste.Delimiter := ' ';
        for i := 0 to memo1.Lines.Count - 1 do
        begin
          liste.DelimitedText := memo1.Lines[i];
          for j := 0 to liste.Count- 1 do
          begin
            if AnsiMatchStr(liste[j],arrKelimeler) then
              liste[j] := arrEsanlamlilar[IndexOfArray(liste[j],arrKelimeler)];
          end;
          Memo2.Lines.Add(liste.DelimitedText);
        end;
      finally
        liste.Free;
      end;
    end;
  • 21-09-2013, 13:22:45
    #13
    zinan adlı üyeden alıntı: mesajı görüntüle
    Pekala, o zaman şunu deneyebilir misin;

    (memo1 in metnini prosedür içinden değiştiriyorum onu iptal edip kendin yazabilirsin)

    procedure TForm1.Button1Click(Sender: TObject);
      function IndexOfArray(const Value: String; Items: array of String): Integer;
      var
        i: Integer;
      begin
        Result := -1;
        for i := Low(Items) to High(Items) do
        begin
          if AnsiSameText(Value, Items[i]) then
          begin
            Result := i;
            Break;
          end;
        end;
      end;
    const
      arrKelimeler : array[0..5] of string = ('isim','hekim','resim','ad','doktor','fotograf');
      arrEsanlamlilar : array[0..5] of string = ('ad','doktor','fotograf','isim','hekim','resim');
    var
      liste : TStringList;
      i,j: integer;
    begin
      memo1.Lines.Text := 'satır 1 isim resim ad ' +#13+
              'satır 2 fotograf resim aynısı' +#13+
              'satır 3 deneme ad sinan';
      memo2.Lines.Clear;
      try
        liste := Tstringlist.Create;
        liste.Delimiter := ' ';
        for i := 0 to memo1.Lines.Count - 1 do
        begin
          liste.DelimitedText := memo1.Lines[i];
          for j := 0 to liste.Count- 1 do
          begin
            if AnsiMatchStr(liste[j],arrKelimeler) then
              liste[j] := arrEsanlamlilar[IndexOfArray(liste[j],arrKelimeler)];
          end;
          Memo2.Lines.Add(liste.DelimitedText);
        end;
      finally
        liste.Free;
      end;
    end;
    hocam sizin de zamanınızı alıyorum ama bu satırda hata çıktı

    if AnsiMatchStr(liste[j],arrKelimeler) then
  • 21-09-2013, 13:25:30
    #14
    uses bölümüne STrUtils eklemen gerekiyor unutmuşum söylemeyi
  • 21-09-2013, 13:29:50
    #15
    tşk ederim hocam