|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#16
|
|||
|
|||
Пробовал по разному и скобки и одинарные ковычки и двойные и пробовал конектор подключать исход один никакой) Думаю придётся ставить "костыль": D мемо загружать текст и делать save to file потипу 123.txt и ADO считывать текстовый файл
|
#17
|
||||
|
||||
Я попробовал специально изуродовать имя файла под ваш вариант - все нормально открывает с квадратными скобками. Какого беса он вообще пытается его обновить? Вы там не пытаетесь случаем писать в таблицу? Так это действительно невозможно, агрегатный запрос только на чтение.
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение: | ||
cezer (13.05.2013)
|
#18
|
||||
|
||||
Цитата:
Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. |
Этот пользователь сказал Спасибо Страдалецъ за это полезное сообщение: | ||
cezer (13.05.2013)
|
#19
|
|||
|
|||
Цитата:
Есть папка в сети туда стекаются лог файлы с именем текущей даты например: "13-05-13-.lgs" и таких файлов много по разным датам в файле находятся данные: User3, 2312, 2834, 0, 0 User2, 0, 109, 0, 0 User1, 1, 2, 0, 0 User1, 5, 1, 0, 0 User3, 2, 29, 0, 0 То что уже сделано по вашему методу он суммирует столбцы которые нужно, это очень круто, единственное не получается с таким файлом: "13-05-13-.lgs" а 123.txt в легкую проскакивает... Так же имеется мысль сделать общий свод данных за период например: период даты с 1-05-13 по 13-05-13 (соответственно с каждого файла в периоде будут вытягиваться данные) просуммировать столбцы одинаковых пользователей и вывести данные в dbgrid. Это было бы вообще супер класс)) И как можно это сделать чтоб он постоянно обновлял эти данные с файла и программа не висла при этом я слышал делают потоки но возможно ли это для такого рода задачи? Скоро отправлю файл! Спасибо Страдалецъ!!!! |
#20
|
|||
|
|||
Цитата:
2,3,4,5,6 не важны. Самые главные столбцы 1,7,8. Столбец 1 = Имя Столбец 7,8 = Данные для суммирования одинаковых пользователей... +Сортировка данных по нажатии столбца. |
#21
|
|||
|
|||
|
#22
|
||||
|
||||
В общем после некоторых эспериментов я пришел к неутешительному выводу. Подключиться к текстовому файлу через Ado нормально получается, если он имеет нормальное имя и расширение. В вашем случае методом "в лоб" не получается. С учетом ваших дальнейших планов, вижу пока 2 решения.
1. Тупо переименовать все файлы в нормальный вид, но если они только для чтения - то такой вариант не катит. 2. Наиболее перспективное во всех смыслах решение - создать свою БД, куда импортировать по мере поступления файлы. За основу такой БД можно взять например Акцесс. Что касается постоянного обновления, то тут все довольно несложно. Простейший способ, поместить на форму компонент TTimer и в нем с нужной вам периодичностью опрашивать каталог на новые файлы и при появлении оных добавлять новые данные к таблице. Удобство этого компонента в том, что он создает свою нить которая не мешает работе основной программы. Вообще задача оказалась довольно интересной и в итоге может получиться очень даже красиво. Жизнь такова какова она есть и больше никакова. Помогаю за спасибо. Последний раз редактировалось Страдалецъ, 14.05.2013 в 02:14. |
#23
|
|||
|
|||
Цитата:
|
#24
|
||||
|
||||
Извините, но напомню - пункт 2.3.
Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
cezer (14.05.2013)
|
#25
|
|||
|
|||
Цитата:
Код:
глобально var d,p,b: string; procedure TForm1.FormCreate(Sender: TObject); begin d:=FormatDateTime('dd-mm-yyyy-',now); b:=d+'.txt' memo1.Lines.LoadFromFile('\\192.168.1.87\Log\'+b); end; procedure TForm1.Timer1Timer(Sender: TObject); begin memo1.Lines.LoadFromFile('\\192.168.1.87\Log\'+b); end; procedure TForm1.Memo1Change(Sender: TObject); begin memo1.Lines.SaveToFile('Base\'+b); adoquery1.Active:=true; end; |
#26
|
|||
|
|||
Цитата:
|
#27
|
||||
|
||||
Так попроще и переменную d можно выкинуть, лишняя (правда в дате будут точки вместо тире, но вроде это не критично)
Код:
b:= DateToStr(Now) + '.txt'; Я не понял Вашего вопроса, но всё же Вам на него отвечу! Последний раз редактировалось Alegun, 14.05.2013 в 11:12. |
Этот пользователь сказал Спасибо Alegun за это полезное сообщение: | ||
cezer (14.05.2013)
|
#28
|
|||
|
|||
Цитата:
[OFFTOP]Ничего все нормально. Просто если тема будет кусками по форуму валяться думаю тот кто встретиться с такой же задачей, ему потребуется полное решение, нежели искать куски по форуму.[/OFFTOP] Моё мнение) |