Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2016, 16:14   #11
xxbesoxx
Участник клуба
 
Регистрация: 10.08.2010
Сообщений: 1,389
По умолчанию

Цитата:
но и бывает по необходимости
"необходимости" это когда-в каком случаи ?

Последний раз редактировалось xxbesoxx; 11.11.2016 в 16:16.
xxbesoxx вне форума Ответить с цитированием
Старый 11.11.2016, 19:32   #12
cw82
Пользователь
 
Аватар для cw82
 
Регистрация: 14.10.2010
Сообщений: 52
По умолчанию

я не просто так описал ситуацию в первом посте. Я эти данные(дату\время) беру в виде текста из текстового файла. Вот и предположил- зачем преобразовывать текст в дату, ведь действий никаких производить с ним не планирую, только для информации, поэтому предположил что можно как то это сделать в ДБГрид. В любом случае спасибо, попробую завира сделать то что вы описали.
cw82 вне форума Ответить с цитированием
Старый 11.11.2016, 20:22   #13
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Это сейчас не планируется, а завтра может запланируется. Так что лучше сразу в формате дата-время в таблицу записать
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 14.11.2016, 09:48   #14
cw82
Пользователь
 
Аватар для cw82
 
Регистрация: 14.10.2010
Сообщений: 52
Печаль

Уважаемый Аватар. Опять прошу Вашей помощи. Воспользовался Вашей помощью, прописал процедуру MyGetText. Вылетает ошибка

Если я в ручную заполню свою базу Access, тогда все красиво... Не знаю что делать.
Изображения
Тип файла: jpg ошибка.jpg (108.8 Кб, 137 просмотров)
cw82 вне форума Ответить с цитированием
Старый 14.11.2016, 10:10   #15
cw82
Пользователь
 
Аватар для cw82
 
Регистрация: 14.10.2010
Сообщений: 52
По умолчанию

Так же сделал как советовал xxbesoxx. Поле Date1 в базе сделал датавремя, когда циклом заполняю БД вылетает ошибка "20160901000007" is not a valid date and time.
Заполняю БД таким циклом
Код:
var
 s: String;
 cr: TextFile;
begin
 AssignFile(cr,'11.cr') ;// полный путь к файлу из папки с приложением
   reset(cr);
try
while not eof(cr) do
begin
   readln(cr, s);

        ADOQuery1.Active:= True;
        ADOQuery1.DisableControls;
        ADOQuery1.Insert;
        ADOQuery1.Fields[1].AsString:=Copy(s,6,2);
        ADOQuery1.Fields[2].AsString:=Copy(s,24,15);
        ADOQuery1.Fields[3].AsString:=Copy(s,39,1);
        ADOQuery1.Fields[4].AsString:=Copy(s,40,15);
        
    ADOQuery1.Post;
    ADOQuery1.EnableControls;
     end;
   finally;
      end;
Догадываюсь, что проблема вот здесь ADOQuery1.Fields[4].AsString:=Copy(s,40,15);
Fields[4] - это столбец с датавремя , но что делать дальше не знаю.
Делал ADOQuery1.Fields[4].AsDateTime:=Copy(s,40,15); но тоже не помогает, думаю потому что
var
s: String;
. Конечно хочется чтобы столбец Дата был Дататайм.. ибо как вы сказали это правильно.
cw82 вне форума Ответить с цитированием
Старый 14.11.2016, 12:21   #16
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

На твоей картинке секунды то ли 02, то ли 82. Конечно 82 даст ошибку. И стартуй прогу с exe, а не из под делфи. Из-под делфи даже экранированные ошибки будет среда выдавать, а если ошибка еще в OnGetText, то вообще в цикл впадет. Ну и то, что строку напрямую в datetime пытаешься засунуть бред конечно. Или StrToDateTime или EncodeDateTime. И обязательно с try ... except
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 14.11.2016 в 12:24.
Аватар вне форума Ответить с цитированием
Старый 14.11.2016, 13:15   #17
cw82
Пользователь
 
Аватар для cw82
 
Регистрация: 14.10.2010
Сообщений: 52
По умолчанию

Спасибо, что не бросаете... Решил по своему, если кому то будет интересно или нужно то вот-
Код:
ADODataSet1.Fields[4].AsString:=Copy(s,40,5)+'.'+Copy(s,45,2)+'.'+Copy(s,47,2)+' '+Copy(s,49,2)+':'+Copy(s,51,2)+':'+Copy(s,53,2);
Т.Е. копирую нужные символы и вставляю разделители.
cw82 вне форума Ответить с цитированием
Старый 14.11.2016, 13:22   #18
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

Цитата:
если кому то будет интересно или нужно то вот
не, такое никому не нужно
come-on вне форума Ответить с цитированием
Старый 14.11.2016, 14:49   #19
cw82
Пользователь
 
Аватар для cw82
 
Регистрация: 14.10.2010
Сообщений: 52
По умолчанию

Ну Вам видимо виднее.
cw82 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перевернуть дату (отобразить задом на перёд). Кардаган Microsoft Office Excel 33 07.07.2015 16:48
Вставить дату и время в ячейку kzld Microsoft Office Excel 5 24.01.2011 18:02
как отобразить на диаграмме время GUSEVV Microsoft Office Access 2 26.08.2009 12:16
DDE как время отобразить Inoko Microsoft Office Excel 9 29.07.2009 16:54
Установить програмно время и дату AleX CODER Общие вопросы Delphi 2 02.01.2009 13:51