Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Вопросы по Delphi 2

Автор: fixer84
Дата сообщения: 19.05.2006 16:31
Пара вопросов
1. Есть данные в сетке DBGridEh, некоторые поля нужно редактировать. Как сделать, чтобы в сетке не было возможности добавлять новую запись, а работать только с теми, что есть в сетке.
2. Подскажите, как показать свою подсказку для каждой строки в StringGrid?
Автор: RomanTim
Дата сообщения: 19.05.2006 17:03
fixer84
1.
Код: procedure TForm1.QueryBeforeInsert(DataSet: TDataSet);
begin
Abort;
end;
Автор: OrlangurStep
Дата сообщения: 19.05.2006 17:53
Кто работал с библиотеками KOL и MSK. Сегодня скачал их, создал проект Исходники . При компиляции выдает ошибку:
[Фатальная ошибка] Project1.dpr(5): Unit Classes was compiled with a different version of Variants.@VarClr
Юзаю Delphi7, пользовался инструкциями ][akep сент. 2004. Как это исправить?
Автор: FRALX
Дата сообщения: 19.05.2006 18:19
fixer84
Копать здесь - DBGridEh.AllowedOperation чтоб данные можно было только редактировать нужно сбросить все флаги за исключением alopUpdateEh
Автор: nekra
Дата сообщения: 19.05.2006 18:34
dyr farot
Спасибо. Как раз то что нужно
Автор: MasMaX
Дата сообщения: 19.05.2006 22:47
Кстати, хотел спросить: а можно ли через html страницы открытые в TWebBrowser управлять прогой? Например кликаешь по ссылке и меняется текст в проге....
Автор: Vetal303
Дата сообщения: 20.05.2006 00:17
MasMaX
присоединяюсь к вопросу, подозреваю, что можно через WinAPI
Автор: SERGE_BLIZNUK
Дата сообщения: 20.05.2006 05:22
прошу помочь со следующей проблемой: как найти файлы по пути, заданному UNC ?
для поиска файлов использую FindFirst/FindNext, но если путь задан как
'\\MyServer\ShareRes1\Folder\' - то ничего там не находится... ;-(((
подскажите, пожалуйста, как быть, в какую сторону копать.

P.S. FileExists для конкретного файла, имя которого задано через UNC также не находится ;-(((
Автор: fixer84
Дата сообщения: 20.05.2006 05:54
FRALX
RomanTim
Спасибо. Решил с помощью AllowedOperation.
Второй вопрос закрыл. Нашел пример в DelphiWorld
Немного изменил, теперь работает.
Автор: FireZone
Дата сообщения: 21.05.2006 10:22
OrlangurStep

Цитата:
Юзаю Delphi7, пользовался инструкциями ][akep сент. 2004. Как это исправить?

Прочитать внимательно инструкцию, которая идёт в комплекте с KOL и MCK. У тебя Unit1 не правильный по содержанию.
Автор: OrlangurStep
Дата сообщения: 22.05.2006 07:17
FireZone
Юнит правильный, просто этот проект компилировать не надо. А за совет почитать инструкцию из поставки KOL MSK респект.
Автор: pavel chistyakov
Дата сообщения: 22.05.2006 10:53
Подскажите каким образом мне получить и изменить информацию о существующих правах на каталог на разделе NTFS (Надо считывать и изменять права групам пользователей).

Delphi - bds 2006.

Автор: OdesitVadim
Дата сообщения: 22.05.2006 10:56
SERGE_BLIZNUK
А случайно не с под сервиса поиск происходит? Дело в том, что если это сервис, то ему просто так доступ в сеть запрещён. Эго необхдимо запускать с правами пользователя, который имеет туда доступ.
Автор: pavel chistyakov
Дата сообщения: 22.05.2006 11:00
Дано: Delphi 6, Fastreport 3, MS SQL 2000.

TADOQuery выполняет хранимую процедуру на сервере MS SQL2000.
Эта процедура возвращает несколько наборов данных - рекордсетов.
По этим рекордсетам надо построить отчет, используя FR 3. В дизайнере Fastreport показывает только первый набор данных. Как получить доступ ко всем рекордсетам?



Может кто поделится frxADOStroeProc - если такая существует.
Автор: reenoip
Дата сообщения: 22.05.2006 12:16
Будьте добры, помогите разобраться.
Мне нужно сохранить файл 1.bmp в поле "bitmap" файла base.mdb таким образом, чтобы при создании любой новой записи в таблице, файл автоматически в неё копировал/вставлял себя. Т.е. сейчас нужно сохранить этот рисунок в первую запись (или присвоить полю "bitmap"), и, чтобы больше туда не лезть, автоматизировать этот процесс.
Такое возможно?
Спасибо.


----------

И ещё:

Код: TBLOBField(Form1.ADOTable1.FieldByName('name')).LoadFromFile('C:\1.xls');
Автор: dyr farot
Дата сообщения: 22.05.2006 13:24
1 -- чтобы само копировалось -- не получится, но можно в разы уменьшить затраты времени -- держать таблицу изображений и вместо картинки вставлять id из этой таблицы

2 -- используй BlobStream
Автор: reenoip
Дата сообщения: 22.05.2006 13:50
dyr farot, а можно пример для моего случая?
Открыл справку, нашёл
Код: var
Stream1, Stream2 : TStream;
begin
Stream1 := SQLDataSet1.CreateBlobStream(SQLDataSet1.FieldByName('Notes', bmRead);
try
ClientDataSet1.Edit;
Stream2 := ClientDataSet1.CreateBlobStream(ClientDataSet1.FieldByName('Remarks'), bmReadWrite);
try
Stream2.CopyFrom(Stream1, Stream1.Size);
ClientDataSet1.Post;
finally
Stream2.Free;
end;
finally
Stream1.Free;
end;
Автор: FireZone
Дата сообщения: 22.05.2006 15:04
reenoip

Цитата:
а дальше что?
Сохранить в файл можно так

Код: with TFileStream.Create('C:\2.xls', fmCreate) do
try
CopyFrom(xls, 0)
finally
Free
end
Автор: reenoip
Дата сообщения: 22.05.2006 17:03
Ну, вот, нашёл нечто похожее... Посмотрим теперь, кто кого... Я IDE, или она меня...
Автор: SERGE_BLIZNUK
Дата сообщения: 22.05.2006 17:44
OdesitVadim

Цитата:
случайно не с под сервиса поиск происходит

нет... обычная GUI-шная программа...
Ребята, всем приношу свои глубочайшие извинения! Бес попутал... В тестовой строке пропустил имя шары (как мог - НЕ ЗНАЮ... и вроде трезвый был ;-)))
Перелопал кучу интернета, вас напряг... А сегодня с утра попробовал и всё получилось.
И FindFirst/FindNext работают... И FileExists...
Так что - проблема решена (точнее её и не было...)
Автор: FireZone
Дата сообщения: 22.05.2006 17:56
reenoip

Код: var
Stream1: TStream;
begin
Stream1 := Form1.ADOTable1.CreateBlobStream(Form1.ADOTable1.FieldByName('name'), bmRead);
try

{здесь файлстрим создается, выкачивает данные из Stream1 (данные ложатся прямо в файл) Затем файлстрим убивается}
with TFileStream.Create('C:\2.xls', fmCreate) do
try
CopyFrom(Stream1, 0)
finally
Free
end

finally
Stream1.Free
end
end;
Автор: Farkhad
Дата сообщения: 22.05.2006 20:22
Имеется массив population. Необходимо получить массив pairs, который того же типа что и population, но в нем элементы должны быть расфасованы случайно на основе массива population.

Пример:
population[0] = 1;
population[1] = 5;
population[2] = 153;
population[3] = 12;


Код:     
pairs = getPairs(population);
Автор: reenoip
Дата сообщения: 22.05.2006 21:18
Ну, что, господа кодеры... Проблема решилась самым дурацким способом, как обычно. Всё обошлось обычным TStream. Пипец... Целый день ходил вокруг да около, а цель была так близко...


Все спасибо большое за советы!
Автор: Vitus_Bering
Дата сообщения: 23.05.2006 09:57
Подскажите, пожалуйста, как присвоить переменной типа string содержимое текстового файла.
Автор: Butcher
Дата сообщения: 23.05.2006 10:01
Vitus_Bering
var S: string; List: TStringList;
List:= TStringList.Create;
try
List.LoadFromFile(FileName);
S:= List.Text;
finally
List.Free;
end;
Автор: Vitus_Bering
Дата сообщения: 23.05.2006 10:14
Butcher
Большое Спасибо.
Автор: FireZone
Дата сообщения: 23.05.2006 14:19
Vitus_Bering
Я делал так. Работает быстрее.
Код: procedure FileToStr(const FileName: String; var S: String);
var
f: File;
begin
AssignFile(f, FileName);
reset(f, 1);
try
SetLength(S, System.FileSize(f));
BlockRead(f, s[1], Length(s));
finally
CloseFile(f)
end
end;

procedure StrToFile(const S: String; const FileName: String);
var
f: File;
begin
AssignFile(f, FileName);
rewrite(f, 1);
try
BlockWrite(f, S[1], Length(s))
finally
CloseFile(f)
end
end;
Автор: Vitus_Bering
Дата сообщения: 23.05.2006 15:21
FireZone
Благодарю за помощь.
Автор: Betorgon
Дата сообщения: 23.05.2006 16:42
Подскажите, как определить какие компы есть в локалке(получить их имена в виде String)
Автор: dyr farot
Дата сообщения: 23.05.2006 17:29
http://forum.vingrad.ru/index.php?showtopic=96010

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Событие STFilter(DBGridEh) ???


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.