KorolCOOL Цитата: В BLOB можно использовать поиск (по тексту например)?
Вы собственно сами ответили на вопрос
Цитата: поле в себе хранит файл (или просто двоичные данные, не знаю как грамотней выразиться) а не информацию определенного типа
Только нужно еще добавить: ... и поэтому все операции связанные с предствалением, поиском и т.п. в BLOB полях реализуются программистом самостоятельно.
Как и какой поиск делать зависит от конкретной решаемой задачи.
Добавлено: GRom V Цитата: Это одинакоГо правильно?
Функция WinExec является устаревший и вместо нее рекомендуется использовать функции ShellExecute или CreateProcess.
Цитата: Можно ли сделать чтобы следующая команда не выполнялась пока не
выдолнится исходная???
Можно, пример
[more]
Код: {
Запуск программы и ожидание ее окончания, принудительное завершение по timeout
Uses: Classes, SysUtils, Windows, strUtils, Consts;
}
function ExecuteFileTm(FileName: string; Params: string; Dsk: boolean; TimeOut:
cardinal): boolean;
var
Res: LongBool;
PIn: PROCESS_INFORMATION;
SII: STARTUPINFO;
RetCode: cardinal;
TmOut: cardinal; //In seconds
i: cardinal;
CreationsFlags: cardinal;
begin
TmOut := TimeOut;
try
if Dsk then
begin
CreationsFlags := CREATE_DEFAULT_ERROR_MODE or NORMAL_PRIORITY_CLASS
or CREATE_UNICODE_ENVIRONMENT;
end
else
begin
CreationsFlags := CREATE_DEFAULT_ERROR_MODE or CREATE_NO_WINDOW
or NORMAL_PRIORITY_CLASS
or CREATE_UNICODE_ENVIRONMENT;
end;
getstartupinfo(SII);
Res := createprocess(
pchar(FileName),
pchar(Params),
nil,
nil,
True,
CreationsFlags,
nil,
pchar(extractfilepath(FileName)),
SII,
PIn);
except
CloseHandle(Pin.hProcess);
ExecuteFileTm := False;
exit;
end;
if not Res then
begin
CloseHandle(Pin.hProcess);
ExecuteFileTm := False;
exit;
end;
i := 0;
RetCode := STILL_ACTIVE;
while (i <= TmOut) and (RetCode = STILL_ACTIVE) do
begin
try
GetExitCodeProcess(Pin.hProcess, RetCode);
except
CloseHandle(Pin.hProcess);
ExecuteFileTm := False;
exit;
end;
Sleep(1000);
inc(i);
end;
if (i > TmOut) and (RetCode = STILL_ACTIVE) then
begin
TerminateProcess(Pin.hProcess, RetCode);
CloseHandle(Pin.hProcess);
// ExecuteFilePrExt:=false;
ExecuteFileTm := false; // ION T
exit;
end;
CloseHandle(Pin.hProcess);
ExecuteFileTm := True;
end;