Вопрос по Delphi

Merlіn

dead wizard
Ответ: Помощь по Delphi

Нужно сразу говорить, тогда
Код:
{Wnd - Handle окна, получающего доступ к буферу обмена,может быть Application.Handle или Form.Handle
 Value - текст, помещаемый в буфер обмена
Copyright:   Dimka Maslov}

function SetClipboardText(Wnd: HWND; Value: string): Boolean;
var
  hData: HGlobal;
  pData: pointer;
  Len: integer;
begin
  Result := True;
  if OpenClipboard(Wnd) then
  begin
    try
      Len := Length(Value) + 1;
      hData := GlobalAlloc(GMEM_MOVEABLE or GMEM_DDESHARE, Len);
      try
        pData := GlobalLock(hData);
        try
          Move(PChar(Value)^, pData^, Len);
          EmptyClipboard;
          SetClipboardData(CF_Text, hData);
        finally
          GlobalUnlock(hData);
        end;
      except
        GlobalFree(hData);
        raise
      end;
    finally
      CloseClipboard;
    end;
  end
  else
    Result := False;
end;
Пример использования: 

procedure TForm1.Button1Click(Sender: TObject);
begin
  SetClipboardText(Handle, 'qwerty');
end;
 

Вкладення

Hamster

Well-Known Member
Ответ: Помощь по Delphi

ОГРООООООМНЕЙШОЕ тебе спасибо за раздупление.
Все заработало, побольше бы таких людей в сети, как ты!
 

FafneR

Halt;
Ответ: Помощь по Delphi

Есть проблема, погите плиззз.
Есть некая БД (например с такими полями: название фрукта|цвет|форма), также есть запрос, который ищет к примеру название всех фруктов красного цвета. Суть проблемы: нужно названия, которые "нашол" запрос поместить в Combobox.
 

Merlіn

dead wizard
Ответ: Помощь по Delphi

FafneR, если использовать ADO, то примерно так
Код:
ComboBox1.Clear;
ADOQuery1.First;
while not ADOQuery1.Eof do
begin
ComboBox1.Items.Add(ADOQuery1.Fields[0].Value);
ADOQuery1.Next;
end;
Вместо ADOQuery1.Fields[Number].Value можне еще ADOQuery1.FieldByName('Name').AsString (Number - номер поля нач. с 0, Name - название поля)
PS: и нужно следить за соблидением типов.
 

FafneR

Halt;
Ответ: Помощь по Delphi

Merlіn сказав(ла):
FafneR, если использовать ADO, то примерно так ...
Огромное спасибо, Merlin :alc: , всё оказалось очень просто. У меня не получалось именно из-за этой строки
Код:
while not query1.Eof  do
Я неправильно организовывал цикл и в итоге получалась якась ересь.
 

feministka

Забанен
Ответ: Помощь по Delphi

подскажите, как можна присвоить переменной значение ячейки в зависимости от того в какой строке расположен курсор.
 

serg_pet

New Member
Ответ: Помощь по Delphi

nilayn сказав(ла):
подскажите, как можна присвоить переменной значение ячейки в зависимости от того в какой строке расположен курсор.
не ясно только из какого дата контрола. ну а вообще вешаеш событие на ColumnMoved или что-то подобное и выгребаешь значение ячейки по принципу определяемому твоим дата контролом.
 

Merlіn

dead wizard
Ответ: Помощь по Delphi

nilayn сказав(ла):
подскажите, как можна присвоить переменной значение ячейки в зависимости от того в какой строке расположен курсор.
Код:
procedure TForm1.[B]DBGrid1[/B]ColEnter(Sender: TObject);
begin
Label1.Caption:=VarToStr(DBGrid1.Fields[DBGrid1.SelectedIndex].Value);
end;
procedure TForm1.[B]DataSource1[/B]DataChange(Sender: TObject; Field: TField);
begin
Label1.Caption:=VarToStr(DBGrid1.Fields[DBGrid1.SelectedIndex].Value);
end;
DBGrid1.Fields[DBGrid1.SelectedIndex].Value - текущая ячейка
DBGrid1.SelectedIndex - текущий столбец
function VarToStr(const V: Variant):String; Преобразует вариант в строку.
 

Live

Happy Live :)
Ответ: Помощь по Delphi

люди подскажите может кто знает: необходимо с файла Excel скопировать телефонный справочник, т.е. перебирать с помощью делфи нужные ячейки файла. Например в третьем столбике в Excel у меня находятся фамилии. беру их копирую и вставляю что-то вроде IBQuery1.ParamByName('FIO').Value:=x где в x находится фамилия. Все єто дело зациклюю поскольку записей аж 10 тысяч :eek:
Вопрос как осуществить доступ к ячейкам файла Excel?
 
Останнє редагування:

Merlіn

dead wizard
Ответ: Помощь по Delphi

GR!NWY
1.Обойтись без Delphi (к примеру сохрани xls как dBase).
2.Подсоеденись к xls файлу как к БД.
3.Использовать сервер автоматизации, по этому есть куча статей.
Книга

PS Второе удалось только создав DNS, и были проблемы с доступом (он монопольный к файлу), но в принцип всё работало.
 
Зверху