Помогите с функциями строки!

  • Автор темы ExtrEmAl
  • Дата начала
Статус
Закрыто для дальнейших ответов.
E

ExtrEmAl

Гость
#1
Я вот написал програмку, на которой я эксперементировал с функиями строки. Хотел создать чтото типа текстового буфера обмена, работающего только в моей проге
У меня получился такой код:

Код:
unit Unit1;

interface

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

type
TForm1 = class(TForm)
Memo1: TMemo;
PopupMenu1: TPopupMenu;
Copy1: TMenuItem;
Paste1: TMenuItem;
procedure Copy1Click(Sender: TObject);
procedure Paste1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;
s:string;
sel:integer;

implementation

{$R *.dfm}

procedure TForm1.Copy1Click(Sender: TObject);
begin
sel:=Length(Memo1.SelText);
s:=Copy(Memo1.SelText, 0, sel);
end;

procedure TForm1.Paste1Click(Sender: TObject);
var
ut:string;
i:integer;
begin
ut:=Memo1.Text;
i:=Memo1.CaretPos.X;
Insert(s, ut, i);
end;

end.
И в этой проге не хочит работать функция Insert()...
Кто может прогляните, плизз, и обьясните в чем проблема!
Заранее очень благодарен.
 
B

Barmutik

Гость
#2
Что то не совсем понятно что происходит в Вашей функции где используется Insert

Вы получили текст из мемо контрола

Взяли позицию курсора

Потом пытаетесь вставить в пустую строку hel с позиции курсора весь текст из ut и на этом всё ..

В итоге так и не понятно чего Вы хотели добиться ...
 
E

ExtrEmAl

Гость
#3
Извиняюсь, я не тот код выложил... :angry:
Я отредактировал сообщение, нормальный код в нем, но он все равно не работает...
Опять же что то в функции Insert. :) :) Помогите, пожалуйста...
 
Z

zubr

Гость
#4
Код:
procedure TForm1.Paste1Click(Sender: TObject);
var
ut:string;
i:integer;
begin
ut:=Memo1.Text;
i:=Memo1.CaretPos.X;
Insert(s, ut, i);
Memo1.Text:=ut;//;) 
end;
 
E

ExtrEmAl

Гость
#5
О-о-о... Чтото я протупил:) :) Извините, не додумался. А до чего же бывают простые вещи... И до чего же долго до них пытаешся додуматся. :ph34r:
Извините еще раз, чето я не додумался... А решение ведь до ужаса простое!
Я просто не был внимателен, и просто пока учусь:( Спасибо за помощь!
 
Статус
Закрыто для дальнейших ответов.