Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (до версии 2009) - часть 5

Модерирует : ShIvADeSt

ShIvADeSt (19-05-2010 05:14): Продолжаем тут http://forum.ru-board.com/topic.cgi?forum=33&topic=11215  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

   

ShIvADeSt



Moderator
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Продолжение темы Вопросы по Delphi (до версии 2009) - часть 4

Познаем сами, помогаем другим...
Обсуждаем вопросы, не связанные с юникоидными версиями Delphi - для этого есть соответствующая тема (см. ссылки ниже).

Правила топика:
    Прежде чем спрашивать:
  1. Желательно изучить вопрос, попытаться найти ответ в прилагаемых мануалах, хелпах и анализируя исходники.
  2. Выполнить поиск по топику (открыть "Версия для печати" и поискать ответ там).
  3. Применить фильтр по разделу "Прикладное программирование". Ответы на многие старые вопросы могли быть даны в отдельных темах.
  4. Продумайте вопрос. На поверхностные вопросы вы получите поверхностные ответы, или вообще ответов не получите.
  5. Желательно указывать версии используемого компилятора и операционной системы.
    Прежде чем отвечать:
  1. Если не можете помочь, не мешайте.
  2. Если уж вы отвечаете на вопрос, давайте ответ по сути.
  3. Если вы не уверены, так и говорите! Ошибочный, но авторитетно звучащий ответ хуже, чем отсутствие ответа.
  4. Задавайте дополнительные вопросы, чтобы получить больше информации.
  • Отсутствие ответа не равносильно игнорированию - иногда участники форума просто не знают ответ. Повторная посылка вопроса не приветствуется. Посты типа "неужели никто не знает ответа..." или "может мне все-таки кто-нибудь ответит" недопустимы.  
  • Все большие куски кода (более 5 строк) оформляем в тег [morе] дабы уменьшить размер поста. FAQ по тегу [morе].

  • Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 02:09 28-06-2009 | Исправлено: psa1974, 12:00 02-02-2010
    victorman2010

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Есть ClientDataSet, в нем строковое поле типа "40152.9424801042". Вопрос как это преобразовать к нормальной дате, отредактировать, а потом обратно. Или же в гриде где то или в датасэте. Заранее благодарен.

    Всего записей: 33 | Зарегистр. 16-12-2009 | Отправлено: 10:36 13-01-2010
    volser

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    victorman2010

    Код:
    D := TDateTime(StrToFloat('40152.9424801042'))

    Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 17:05 13-01-2010
    victorman2010

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    volser
    спс, а как обратиться к определенной колонке cxGrid'a, с целью туда что нибудь записать?

    Всего записей: 33 | Зарегистр. 16-12-2009 | Отправлено: 17:23 13-01-2010
    volser

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    victorman2010
    Если нужно работать с данными, то нужно работать с датасетом, а не с гридом.

    Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 18:41 13-01-2010
    victorman2010

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Доброго времени суток. Свой вопрос я уже задавал, но конкретного ответа так и не получил. Попробую описать ситуацию более подробно:
    По нету приходят xml файлы. Моя программа открывает его (вывожу в cxGrid), редактирует и потом обратно записывает в xml. xmlMapper'om созданы два транспорт  
     
    файла (.xtr). Использую компоненты: xmlTransform, xmlTransformProvider, ClientDataSet, DataSourse, cxGrid. Суть проблемы: колонка с датой в xml файле имеет  
     
    вид 40152.9238028009 (xmlMapper'om никак не преобразуеш), если преобразовать в delphi (cxDateEdit1.Date :=  
     
    FloatToDateTime(StrToFloat(ClientDataSet2.FieldByName('datetime').AsString));) то получится 05.12.2009 22:10:16, но это если в cxDateEdit, в грид никак не  
     
    получается. Подскажить пож что делать? Заранее благодарен.
    Читаю файл:
      ClientDataSet1.Close;
      XMLTransform1.SourceXmlFile := 'C:\_zx.xml';
      XMLTransform1.TransformationFile := 'OXtrans.xtr';
      ClientDataSet1.XMLData := XMLTransform1.data;
      ClientDataSet1.Open;
    Сохраняю файл:
      XMLTransformProvider1.XMLDataFile := 'C:\_zx.xml';
      XMLTransformProvider1.TransformRead.TransformationFile := 'OXtrans.xtr';
      XMLTransformProvider1.TransformWrite.TransformationFile := 'toxml.xtr';
      ClientDataSet1.ApplyUpdates(-1);

    Всего записей: 33 | Зарегистр. 16-12-2009 | Отправлено: 09:31 15-01-2010
    volser

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    victorman2010
    Какой тип поля в датасете для этой колонки?

    Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 11:51 15-01-2010
    victorman2010

    Junior Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Может я чего то не понимаю или не знаю, пробовал создать поле в самом гриде и записывать в него:
     
    procedure TfrmMain.cxGrid2DBTableView1DateTimeGetDataText(
      Sender: TcxCustomGridTableItem; ARecordIndex: Integer; var AText: string);
    begin
    сxGrid2DBTableView1dn.EditValue := FloatToDateTime(StrToFloat(ClientDataSet2.FieldByName('datetime').AsString));
    end;
     
    В дата сете создал поле вычисляемое fieldkind - fkCalculated. При загрузке файла поле остается пустым. Может как то я не правильно запись делаю? Коммит для грида может нужно какой то сделать?
     
    Поле создано как fkCalculated и в гриде отображается, запись не происходит...А еще только что заметил, что ручками там ничего не напишеш. Не в нем не в просто текстовым, созданном в самом гриде. Получается дополнительные поля что то блокирует для записи, потому что в тех что загружаются из файла писать (корректировать) можно.

    Всего записей: 33 | Зарегистр. 16-12-2009 | Отправлено: 12:01 15-01-2010
    volser

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    victorman2010
    При создании датасета создайте поле типа DateTime и редактируйте его. Зачем создавать строковое поле а потом думать что с ним делать?
     
    З.Ы. Не пишите одно и тоже в двух разных ветках.

    Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 12:29 15-01-2010
    EugeneBoss3



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Знатоки, подскажите, плиз, как перелить данные из таблиц DBaseIII (OEM) в базу FireBird без использования BDE

    Всего записей: 247 | Зарегистр. 15-09-2009 | Отправлено: 03:08 16-01-2010
    snike555



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    EugeneBoss3
    TDBF, ADO подойдут?

    Всего записей: 380 | Зарегистр. 02-10-2009 | Отправлено: 05:22 16-01-2010
    SIgor33

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    EugeneBoss3
    еще как вариант можно использовать какой нибудь manger
    я пользуюсь для работы EMS SQL Manager for InterBase & Firebird там такой импорт есть

    Всего записей: 652 | Зарегистр. 03-03-2009 | Отправлено: 10:34 16-01-2010
    pavlo1704

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Народ, подскажите, как в Delphi 7 создать интерфейс, похожий на 1С Предприятие. Необходимо, чтобы в главном окне приложения открывались другие формы и их можно было бы перемещать только в пределах основной формы, возможно ли это ? подскажите технологию

    Всего записей: 21 | Зарегистр. 16-04-2009 | Отправлено: 16:40 16-01-2010
    Frodo_Torbins

    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    pavlo1704
    MDI - раз, управление свойством Parent дочерних форм - два.

    Всего записей: 2318 | Зарегистр. 24-05-2007 | Отправлено: 16:50 16-01-2010
    pavlo1704

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Frodo_Torbins
    Спасибо большое! Теперь я понял, что к чему

    Всего записей: 21 | Зарегистр. 16-04-2009 | Отправлено: 17:52 16-01-2010
    JohnSilver182



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Hi All
    А есть  компонент-шедулер под делфи .  Что бы не воротить кучу гов...  в  компоненте TTimer .

    Всего записей: 829 | Зарегистр. 03-06-2009 | Отправлено: 22:02 16-01-2010
    data man



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    JohnSilver182
     
    Я пользуюсь описанным здесь Таймер, который не подведет
    Там есть синхронизированный таймер, в котором моменты срабатывания задаются в формате строки CRON, очень удобно.
     
    Ну и в JCL/JVCL есть навороченный вариант.

    ----------
    Любой достаточно развитый тролль неотличим от подлинно помешанного на какой-либо идее.
    Кекс. Антибиотики. Ламбада.

    Всего записей: 1696 | Зарегистр. 13-10-2005 | Отправлено: 22:17 16-01-2010
    JohnSilver182



    BANNED
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    data man  А вот я когда то юзал его на WinNt 4.0  
    Когда перенес на WinXp и WIndows Server 2003 , начались глюки  вплоть до того что софтину не закрыть .
    З.Ы.
    А как выцепить Pchar из LPARAM ??????

    Цитата:
      hTimer4 := tmCreateFixedTimer(TimerNotifyEvent, CronEdit.Text, tmSureSync,
          true, dword(pchar(HelloStr)), 666);
     

     
    число то я получаю а Message.LParam  ВСЕГДА  =0  
     

    Цитата:
    procedure TfmDemo.WMAsyncNotify(var Message: TMessage);
    begin
      //ShowTimer(Message.WParam);
        logmemo.Lines.Add(Inttostr(Message.wParam))
    end;

    Всего записей: 829 | Зарегистр. 03-06-2009 | Отправлено: 22:44 16-01-2010 | Исправлено: JohnSilver182, 22:49 16-01-2010
    data man



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    JohnSilver182
    Цитата:
    начались глюки

    Возможно, но он уже несколько раз обновлялся.
     

    Цитата:
    А как выцепить Pchar из LPARAM ??????

    Скорее всего, проблема из-за того, что функции создания таймеров импортируются из DLL.
    Я пользуюсь модифицированной версией без DLL, как автор советовал в статье.

    ----------
    Любой достаточно развитый тролль неотличим от подлинно помешанного на какой-либо идее.
    Кекс. Антибиотики. Ламбада.

    Всего записей: 1696 | Зарегистр. 13-10-2005 | Отправлено: 22:50 16-01-2010 | Исправлено: data man, 23:25 16-01-2010
    EugeneBoss3



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    snike555

    Цитата:
    TDBF, ADO подойдут?

    Пытался использовать TDBF, но он почему-то OEM кодировку не транслирует - получается кракобяки

    Всего записей: 247 | Зарегистр. 15-09-2009 | Отправлено: 00:30 17-01-2010
    VadimLou



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Цитата:
    OEM

    vkDBF: _http:\\vlad-karpov.narod.ru
    ps: Под себя подпиливал автодетект oem/ansi + кривывые файлы с одинаковыми именами полей...

    Всего записей: 702 | Зарегистр. 22-07-2004 | Отправлено: 03:13 17-01-2010
       

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101

    Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по Delphi (до версии 2009) - часть 5
    ShIvADeSt (19-05-2010 05:14): Продолжаем тут http://forum.ru-board.com/topic.cgi?forum=33&topic=11215


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru