Главная страница
    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-91365
Picco
2003-04-15 11:09
2003.04.28
ошибка при вызове Word а


7-91578
DenneD
2003-03-08 22:44
2003.04.28
RW-Memore


1-91359
dimonf
2003-04-15 18:06
2003.04.28
Подскажите как сделать редактор свойств для своего компанента?


14-91515
Moris The Cat
2003-04-10 21:10
2003.04.28
Вопрос по курсовой по инфе 1-го курса! (Последовательности)


7-91568
Maks
2003-03-10 22:35
2003.04.28
Сканер





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский