sla Жалоба Опубликовано 10 марта, 2010 LITR мб при создании базы надо было указать формат поля? то что ты пишешь - наш российский формат даты, то что получаешь - западный (если конечно дата в твоем примере - 10 марта))) ). Да и потом не вижу тут проблемы. Читай поле как западную дату, а выводи юзеру как нашу Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LITR Жалоба Опубликовано 11 марта, 2010 sla При создании базы формат поля был указан. dd.mm.yy ошибка можно сказать плавающая. То она есть то ее нет. Добавлю информации: при первой попытки записи все нормально, последующие переворачивают дату. Следил за переменной выводя паралельно результат на форму - Label выводит правильно через strtodate. Программа год проработала без проблем. Началось с середины февраля... Имеются беспочвенные подозрения на обновления windows Ваше предложение хорошее но возможно не самое правильное.Желательно найти причину... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
sla Жалоба Опубликовано 11 марта, 2010 Имеются беспочвенные подозрения на обновления windows Панель управления->Язык и региональные стандарты Ваше предложение хорошее но возможно не самое правильное.Желательно найти причину... Необходимо проверить - чего гадать-то))) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LITR Жалоба Опубликовано 11 марта, 2010 sla язык и стандарты проверены сразу. "не самое правильное" по поводу метода решения - брать дату и менять ее. Как определить правильная ли дата в базе? Что юзер реально хотел ввести неизвестно. Я постараюсь снести обновления и привести систему к первоначальному виду. Кстати Windows 2000. На другом компе программа нормально работает. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
LITR Жалоба Опубликовано 12 марта, 2010 Проблема решена. Скорее всего действительно какое-то обновление криво встало в систему. Установка MDAC версии 2.7 поставило все на свои места. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Smit1 Жалоба Опубликовано 29 мая, 2010 Народ, требуется хелп. С помощью какого компонента и как можно вставить doc файл. В общем, есть этот файл и в нем инфа (картинки, текст), надо вывести это на форму. Я полный ламер в этом деле. Надо сделать электронный справочник-пособие, информация есть, только раскидать по формам. З.Ы. Если у кого есть исходник самого простого справочника на делфи, буду очень признателен если скините. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
_Сергей_ Жалоба Опубликовано 3 июня, 2010 Можно через OLE - объект вставить Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Nezhaika Жалоба Опубликовано 23 октября, 2010 Вот вам ссылочка: delphisources.ru. тут есть и учебники, и исходники и чёртова куча статей что и как делать, чтобы получить нужное Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rainbo Sky Жалоба Опубликовано 3 октября, 2014 ребят, набросайте функцию на Паскале, которая удаляет из данной строки все начальные и конечные пробелы, если такие есть, но не пробелы в середине между слов. Прототип её, очевидно такой: function DelBeginEndSpaces ( s: string ) : string ; А если аргумент пустой или состоит из одних только пробелов, то и вывод пусть будет пустой. Пример работы: аргумент ' иди на ' ответ 'иди на' Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FC3 Жалоба Опубликовано 3 октября, 2014 ребят, набросайте функцию на Паскале, которая удаляет из данной строки все начальные и конечные пробелы, если такие есть, но не пробелы в середине между слов. Прототип её, очевидно такой: function DelBeginEndSpaces ( s: string ) : string ; А если аргумент пустой или состоит из одних только пробелов, то и вывод пусть будет пустой. Пример работы: аргумент ' иди на ' ответ 'иди на' Зачем ее писать если есть готовая - Trim()? 3 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Rainbo Sky Жалоба Опубликовано 4 октября, 2014 Как же хорошо, что есть знающие люди ! У меня одна функция читает из Excel, вот в неё и надо добавить этот Trim. .... var e : Variant; ... e:=createoleobject('excel.application'); Form1.OpenDialog1.Filter:='Файлы Excel|*.xls;*.xlsx'; if opendialog1.Execute then e.workbooks.open(opendialog1.FileName) else goto fire; e.visible:=true; cline:=0; for c:=1 to 10 do begin if (GetCell(c,1)='1') and (GetCell(c,2)='2') and (GetCell(c,3)='3') then cline:=c; end; if cline=0 then begin Edit1.Text:='Нет строки 1,2,3....'; goto fire; end; //обработка далее ... fire: e.Quit; e:=Unassigned; ... и вот тут: function GetCell (c,b:integer) : string ;var s:string;begins:=e.workbooks[1].worksheets[1].cells[c,b];GetCell:=Trim(AnsiLowerCase(s));end; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Recruit2 Жалоба Опубликовано 30 марта, 2015 Привет! нужна помощь есть число $1FFFE00 longword типа, нужно получить на выходе $00FEFF1F как бы зеркальное отображение.Спасибо. $abcd -- $dcba Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
FC3 Жалоба Опубликовано 30 марта, 2015 Привет! нужна помощь есть число $1FFFE00 longword типа, нужно получить на выходе $00FEFF1F как бы зеркальное отображение.Спасибо. $abcd -- $dcba Наверно самое простое преобразовать число в строку, отзеркалить ее и обратно в число. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Recruit2 Жалоба Опубликовано 30 марта, 2015 Наверно самое простое преобразовать число в строку, отзеркалить ее и обратно в число. ага, буду пробовать.спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mr.Pig Жалоба Опубликовано 31 марта, 2015 $1FFFE00 <> $00FEFF1F $abcd <> $dcba Обратите внимание ! Разный тип зеркальности ! В одном октеты внутри байтов переставляются, а в другом нет ! Так какой же тип нужен ? $12345678 <> $87654321 (как строка посимвольно) или $12345678 <> $78563412 (обмен байтами) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mr.Pig Жалоба Опубликовано 31 марта, 2015 /* byte swap */ longword x; result:= ((x shl 24) and $FF000000) or ((x shl 8) and $00FF0000) or ((x shr 8) and $0000FF00) or ((x shr 24) and $000000FF) ; тут самый левый и самый правый and в общем -то не нужны, т.к. shl/shr пустые места и так нулями заполняет, но для понимание общего принципа оставим. Будем считать, что при сдвигах "из-за угла" выезжает какой-то шум и он нуждается в отсечении, хотя там нули выезжают ;o) А ещё or можно заменить на + Напиши сам то же самое для nibble swap. Подсказка - будет не 4, а 8 слагаемых, и маски будут с одним F. Сдвиги будут: 28 влево и маска $F0000000 20 влево и маска $0F000000 12 влево и маска $00F00000 04 влево и маска $000F0000 04 вправ и маска $0000F000 12 вправ и маска $00000F00 20 вправ и маска $000000F0 28 вправ и маска $0000000F coded by :fu: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Recruit2 Жалоба Опубликовано 31 марта, 2015 $1FFFE00 <> $00FEFF1F $abcd <> $dcba Обратите внимание ! Разный тип зеркальности ! В одном октеты внутри байтов переставляются, а в другом нет ! Так какой же тип нужен ? $12345678 <> $87654321 (как строка посимвольно) или $12345678 <> $78563412 (обмен байтами) Привет, скорее второй вариант вашего примера. вторым вариантом я указал условность "зеркалки". у себя сделал через shr $18,$10,$8 далее масками and $ FF и т.д перебором, практически тоже самое что вы указали сообщением выше. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Maelz Жалоба Опубликовано 1 августа, 2015 Задача посчитать количество строк в файле excel в лазарусе Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Prana's Admirer Жалоба Опубликовано 1 августа, 2015 Ну не знаю как там в Лазарусе, а я делал на Дельфи. Используется API офиса, то есть если офиса на этой машине нету - то болт. А так всё просто: var e : Variant; function GetCell (c,b:integer) : string ;var s:string;begins:=e.workbooks[1].worksheets[1].cells[c,b];GetCell:=s; // GetCell:=Trim( AnsiLowerCase(s) );end; ............. begin e:=createoleobject('excel.application'); Form1.OpenDialog1.Filter:='Файлы Excel|*.xls;*.xlsx'; if opendialog1.Execute then e.workbooks.open(opendialog1.FileName) else goto fire; e.visible:=true; cline:=0; for c:=1 to 10 do begin if (GetCell(c,1)='1') and (GetCell(c,2)='2') and (GetCell(c,3)='3') then cline:=c; end; if cline=0 then begin Edit1.Text:='Нет строки 1,2,3....'; goto fire; end; // поиск того что мне надо в документе // использование GetCell( номер строки, номер столбца ) // а это точка выхода, на неё происходит переход свыше, если что-то пошло нетак // она удаляет объект и закрывает за собой процесс excel.exe fire: e.Quit; e:=Unassigned; end; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Violentzek Жалоба Опубликовано 25 октября, 2016 там в Delphi оконный режим когда части программы впиываешь в stinggrid button edit и т.д.... Не оч понял чт окуда там писАть... _________________________________________________ http://www.tvoe-nebo.ru/za-gorodom/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AlexmenKex Жалоба Опубликовано 13 ноября, 2016 Помогите написать программу печати графической информации средствами Win Api 32 под Windows XP, на Delphi. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Svin+ Жалоба Опубликовано 13 ноября, 2016 Приятель, я писал эмулятор принтера Epson Stylus 3000 на Delphi 7.Реальный образец очереди печати прилагается.Для отладки поставь PDF24 чтобы не тратить бумагу и краску на реальном принтере. На нём же можно изучать печать в различных разрешениях, сохранять результаты в виде картинок.Единственное отличие у него от настоящего принтера в том, что размер бумаги всегда полный 210x297 мм без полей.А реальный принтер будет рапортовать о себе размер немного меньший из-за своих полей.Мой пример имеет ширину 209мм и скорее всего в реальный принтер он не влезет по ширине. Но у нас принтеры на которых это используется сами по себе рулонные и по win api рапортуют о себе полный размер 210x297, который и печатают на рулон без зазора между листами. В итоге распечатка на рулон точно соответствует оригиналу Epson 3000 как он это печатал под ДОСом. А пример - это и есть сырые данные, которые посылались в LPT-порт ему.Удачи.ps. Но всё же это не WinAPI, этодельфийский uses Printers Ссылка в описании в личке. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Recruit2 Жалоба Опубликовано 16 октября, 2018 Привет всем! Делфисты выручайте! вопрос: Имеется запрос типа 760 AA 00 02 21 XX нужно следующее чтобы переменная АА изменялась по порядку от $10 до $1F и снова $10 и т.д. "по кругу", это я реализовал. не могу сообразить как мне поступить чтоб в любой момент выполнения программы переменная АА была на 1 больше от предыдущего. т.е. как то ее сохранять и опять вызывать прибавлять 1 и вносить в запрос....ну не могу сообразить как это сделать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mister Svin Жалоба Опубликовано 17 октября, 2018 AA+1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Mister Svin Жалоба Опубликовано 17 октября, 2018 Да не, в Си есть шикарная конструкция ++ А в Дельфае нету. Думай сам, хитри. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты