Skip to forum content
My Visual Database
A Simple Solution for Creating Databases
You are not logged in. Please login or register.
Active topics Unanswered topics
Search options (Page 14 of 15)
procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
var
TextFile : TFileStream;
buf, s: Char;
b : byte;
FileName, tmpLine: string;
begin
// FileName := ExtractFilePath( Application.ExeName ) + 'test.txt';
FileName := 'D:\1.txt';
TextFile := TFileStream.Create( FileName, fmOpenRead );
tmpLine:='';
while TextFile.Position < TextFile.Size do
begin
TextFile.Read( buf, 1 );
b := ord(buf);
if ( b>=192 ) then s := chr(b+848) else s := chr(b);
tmpLine := tmpLine + s;
ShowMessage(tmpLine); // пробуем закомментить эту строку
end;
ShowMessage(tmpLine);
TextFile.Free;
end;
begin
end.
Без комментариев...
mikhail_a wrote:Стоит задача закинуть базу MySQL на хостинг, чтобы к ней сотрудники имели доступ и из дома.
А ssh-туннель на putty не..? Одна строчка в параметре запуска и база у всех по адресу 127.0.0.1:3306...
И не надо никах whm-ов cPanel-ных с мудреными проверками...
Нет явного типа AnsiString...
mikhail_a wrote:Каким образом реализовать в MVD следующий php код?
$curl = curl_init();
curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,0);
curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,0);
curl_setopt($curl, CURLOPT_RETURNTRANSFER,1);
$header[0] = "Authorization: whm $user:$token";
curl_setopt($curl,CURLOPT_HTTPHEADER,$header);
curl_setopt($curl, CURLOPT_URL, $query);
$result = curl_exec($curl);
$http_status = curl_getinfo($curl, CURLINFO_HTTP_CODE);
const url = 'https://your-site.hz';
user = 'юзернейм';
token = 'токен';
var whr : Variant;
procedure HTTPRequest(Sender:TObject);
begin
TdbButton(Sender).Enabled := false;
try
try
// Эквивалент $curl = curl_init();
whr := CreateOleObject('WinHttp.WinHttpRequest.5.1');
// Эквивалент curl_setopt($curl, CURLOPT_URL, $query);
whr.open('GET', url, true);
// Эквивалент CURLOPT_SSL_VERIFYPEER и curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,0);
whr.Option(4) := 13056;
// CURLOPT_RETURNTRANSFER - не требуется
// Эквивалент $header[0] = "Authorization: whm $user:$token";
whr.SetRequestHeader('Authorization',Format('whm %s:%s',[user,token]));
// Эквивалент curl_exec($curl);
whr.Send();
whr.WaitForResponse(5); // таймаут ожидания ответа в секундах
// Эквивалент curl_getinfo($curl, CURLINFO_HTTP_CODE);
ShowMessage(whr.Status)
except
// ShowMessage(ExceptionMessage); // раскомментить для просмотра ошибок
end;
finally
TdbButton(Sender).Enabled := true;
whr := 0;
end;
end;
procedure Form1_Button1_OnClick (Sender: TObject; var Cancel: boolean);
begin
HTTPRequest(Sender);
end;
begin
end.
mikhail_a wrote:Настройки данного форума провоцируют пользователей не делать поиск, а задавать вопросы.
Проблема в том, что функция поиска позволяет делать поисковые запросы только с интервалом в 30 секунд.
Очень редко удается с первого же запроса найти нужную информацию.
И это дурацкое временное ограничение просто не дает возможности нормально найти что нужно.
Вот и пишут пользователи вопросы, хотя ответ на их вопрос можно найти в два-три запроса
Немного не в сабж... Речь именно о халявщиках. У них прямо в контексте вопроса явно или скрыто проглядывается: "сделай за меня".
К таким лично я отношусь отрицательно.
Положительно же - к двум категориям людей:
1. Кто хочет и пытается что-то сделать сам, и это отчетливо видно.
2. Кто не хочет сделать сам, но сразу обозначает, что за решение готов вознаградить финансово (у меня есть несколько таких, кто пришел к этому в силу возраста или занятости, либо банально - отсутствия глубинного интереса к программированию).
P.S. А с халявщиками разговор короткий - или гони бабло на бочку или дуй лесом...
Не вижу проблем, работает все. А если и есть какой-то баг, то все решаемо (автор на связи никуда не пропал).
А про велосипед промолчу... Жутко представить даже как будет выглядеть рама.
Жесть...
Для получения количества пробелов достаточно отнять от длины строки ее длину полученную в результате замены пробелов.
Есть способ проще. А для чего (если это не секрет) считать пробелы?
k245 wrote:Попробовал запустить экзешник из архива - ошибка выполнения.
Подкрутил что-то там... Вроде работает (проверил на чистой винде).
Только сборку делать геморно. Каждая компиляция ее будет грохать.
k245 wrote:А что за магия с манифестом? )))
Попробовал по этому рецепту...
Вариант, который запускается без регистрации ком-сервера (только exe-шник хакать приходится после сборки).
k245 wrote:vovka3003 wrote:regsvr32 из SysWOW64 если..?
выдает ошибку:
...
От имени администратора.
k245 wrote:осталось проверить вариант подключения DLL через DynamicWrapperX...
Очень кучерявое решение выходит... Тогда уже проще автору dll-ку в сток вшить.
Предыдущую версию возьмите. Она без глюков.
P.S. Простая регистрация (по прилагаемой к библиотеке инструкции) запуском regsrv32 вообще не выполняется - выдаёт ошибку установки сервера.
regsvr32 из SysWOW64 если..?
А что запрещает использовать в MVD готовые решения?
А смысл, если есть готовое (и даже бесплатное) строить очередной велик..?
Классно! Вы одной табличкой "накрыли" кучу плагинов и сервисов, годами спорящими о правильности склонений... А еще представляете - они гады за это денег в три шкуры дерут.
А тут - х..як и в продакшн!
У меня например фамилия заканчивается на "ий". И она НЕ склоняется.
sibprogsistem wrote:адрес бд указанный в ini файле не используется ..
бд подключается при запуске программы по выбору пользователя
я могу и в переменную передать этот адрес, но думал, что можно обойтись без этого..
"Я создал переменную в скрипте... Как узнать - какую переменую я создал в скрипте?"
(примерно так тогда звучит вопрос).
Можно написать модуль для этого сервиса: https://morpher.ru/ws3/
SumanR wrote:Всем привет , вопрос просто й, есть у кого нить готовая такая работа? (файл прикреплю)
Очевидно такая "готовая работа" есть у Дмитрия Иванова...
RasNikGal wrote:.. чуть чуть нето что надо..
Хм, интересный вы товарищ.. Derek вам выдал что спросили.
"То, что надо" выглядит примерно так:
form1.edit1.Text := form1.tablegrid1.cells[0,arow];
form1.edit2.Text := form1.tablegrid1.cells[1,arow];
form1.edit3.Text := form1.tablegrid1.cells[2,arow];
А выполнять при перемещении по таблице отдельные sql-запросы для каждого поля - настойчиво не рекомендую (это неправильно)...
Это стандартное окно Windows. Можно перехватить его в цикле c помощью GetForegroundWindow, затем, используя полученный хендл родителя перечислить дочерние компоненты (FindWindowEx), отыскать нужный и послать ему сообщение WM_CLOSE в SendMessage.
Posts found: 326 to 350 of 359