Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.04.28;
Скачать: [xml.tar.bz2];

Вниз

StringGrid   Найти похожие ветки 

 
Михайлов Антон   (2003-04-16 20:16) [0]

Человеки, подскажите как сделать в стринггриде вырезание, копирование и вставку в выделенной ячейки???
Очень срочно нужно...
Заранее спасибо!


 
Skier   (2003-04-16 20:23) [1]

Или я чего не понял или ответ очень простой :
StringGrid.Options := StringGrid.Options + [goEditing, goAlwaysShowEditor];


 
Михайлов Антон   (2003-04-16 20:26) [2]

Неее... это уже сделано... нужно по нажатию на кнопку "вставить" ,на панели управления, вставлялся текст из буфера обмена в выделенную ячейку
Так же с вырезанием и копированием....


 
Skier   (2003-04-16 20:31) [3]

>Михайлов Антон

> ... нужно по нажатию на кнопку "вставить" ,на панели управления,
>

Какой панели управления ? Твоего приложения ? Или ?


 
Михайлов Антон   (2003-04-16 20:34) [4]

да! у мя есть стринггрид и панель с кнопками...
Кнопки: вырезать, копировать, вставить...
Я хочу сделать чтобы они работали к выделенной ячейке


 
Babay   (2003-04-17 07:40) [5]

я делал это вот так
может не лучшее решение но работает и можно даже в ексель и обратно

procedure stgPasteFromClipboard(stg:TStringGrid;
Acol,Arow //адрес ячейки куда вставлять
:Integer);
Var m:TMemo;
c,r:Integer;
sl:TStringList;
begin
m:=TMemo.Create(stg);m.Visible:=False;
m.Parent:=stg;m.WordWrap:=False;
sl:=TStringList.Create;
Try
m.PasteFromClipboard;
stgStringsToStringGrid(stg,m.Lines,chr(VK_Tab),Acol,Arow);
finally
sl.Free;
m.Free
end;
end;

Procedure stgStringsToStringGrid(stg:TStringGrid;s:TStrings;sep:Char;Acol,Arow:Integer);

//Разбирает таблицу находящуюся в S где столбики разделены символом Sep и укладывает ее в грид начиная с ячейкиACol, ARow

Var sl:TStringList;
c,r:Integer;
begin
sl:=TStringList.Create;
for r:=0 to s.Count-1 do begin
sl.Clear;
GetWordList(s.Strings[r],sep,sl);
For c:=0 to sl.count-1 do
stg.Cells[c+Acol,r+aRow]:=sl.Strings[c];
end;
sl.Free;
end;

procedure stgCopyToClipboard(stg:TStringGrid;AcolLeft,ArowTop,AcolRight,ArowBottom:Integer);

Var m:TMemo;
begin
m:=TMemo.Create(stg);m.Visible:=False;
m.Parent:=stg;m.WordWrap:=False;
stgStringGridToStrings(stg,m.Lines,chr(VK_Tab),AcolLeft,ArowTop,AcolRight,ArowBottom);
m.SelectAll;
m.CopyToClipboard;
m.Free
end;

Procedure stgStringGridToStrings(stg:TStringGrid;s:TStrings;sep:Char;
AcolLeft,ArowTop,AcolRight,ArowBottom:Integer);

// ложит в S данные из Stg начиная с ячейки AColLeft,ArowTop по ячейку AcolRight,ArowBottom
//разделяя столбики символом Sep

Var i,j:Integer;
st:String;
begin
s.Clear;
For i:=ARowTop to ARowBottom do begin
st:="";
for j:=AcolLeft to AColRight do
st:=st+stg.Cells[j,i]+sep;
Delete(st,Length(st),1);
s.Add(st)
end;
end;

В качестве символа разделения рекомендую стандарный разделитель
например TAB ексель его понимает


 
Babay   (2003-04-17 07:45) [6]

Да...
Вот посмотрел на свой код. Коментарии старые...
я ТАВ ввел жестко теперь, но переделать ежели че не сложно



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2003.04.28;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.008 c
1-91332
Woland.hexed
2003-04-14 23:18
2003.04.28
Построение отчетов в стиле 1С (Excel)


3-91207
from
2003-04-10 13:03
2003.04.28
Как в IB(FireBird) в ХП написать like с %


14-91488
Aleksey Pavlov
2003-04-10 13:52
2003.04.28
Чудеса с реестром, которых по идее не бывает :)


3-91216
mars
2003-04-08 18:44
2003.04.28
Что умеет IBReplication manager?


1-91281
Dmitry V. Averuanov
2003-04-17 12:24
2003.04.28
Как передать array of char из DLL ?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский