Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.05;
Скачать: CL | DM;

Вниз

как загрузить из .txt с разделителями "^" в .db?   Найти похожие ветки 

 
Daria   (2005-12-05 13:19) [0]

Подскажите, пожалуйста, как загрузить из .txt с разделителями "^" в .db в Delphi???


 
Плохиш ©   (2005-12-05 13:24) [1]

Программу писать надо. Делфи такого не делает.


 
alex_*** ©   (2005-12-05 13:27) [2]

конкретнее вопрос, если хочешь получить внятный ответ


 
Daria   (2005-12-05 13:35) [3]

ой, спасибо!!! А то на работе уже убивать собираются....
Короче, есть файл test.txt. Разделители в нем галочки (^). (например, ^E^092^text^naim_mid^pole). Дальше надо будет с ним работать. Для этого хочу загрузить в базу данных с соответствующими полями. В Fox это делается одной командой, а вот тут столкнулась с проблемами....


 
Плохиш ©   (2005-12-05 13:38) [4]


> Daria   (05.12.05 13:35) [3]

В делфи нет для этого одной команды.


 
Daria   (2005-12-05 13:42) [5]

что нет одной команды, я уже поняла. но если знаете как это сделать, подскажите, пожалуйста, а то мне конец....


 
alex_*** ©   (2005-12-05 13:48) [6]

а что ты умеешь делать в Дельфи?


 
Sergey13 ©   (2005-12-05 13:49) [7]

2 [5] Daria   (05.12.05 13:42)
Так а что непонятно то? "Галочки" конкретно смущают или что?
Открой Екселем и сохрани как dbf.


 
Daria   (2005-12-05 13:50) [8]

работать с БД. как только каким-то образом загружу в базу, то все будет нормально :). Просто с этим я не сталкивалась и, честно говоря, не знаю с какой стороны даже подходить.... Поможете???


 
alex_*** ©   (2005-12-05 13:54) [9]

запиши в dbf см. [7] и из него в Дельфи закинь в db


 
Daria   (2005-12-05 13:55) [10]

Sergey, проблема в том, что это будет программа общего пользованя. на входе текстовые файлы. и никто не будет сначала открывать их в екселе, сохранять как dbf, а потом уже работать с моей прогой....


 
alex_*** ©   (2005-12-05 13:59) [11]

Проблема в разборе файла или в записи в .db?


 
Daria   (2005-12-05 14:02) [12]

проблема в том, что, по ходу дела, я совсем не знаю Дельфи..... каюсь, но помогите!!!! я не знаю как все данные из файла закачать в .db


 
alex_*** ©   (2005-12-05 14:04) [13]

если ты дельфи не знаешь, то программу не напишешь. Проси кого-ть чтоб тебе написали


 
Daria   (2005-12-05 14:08) [14]

я же сказала, что со всем остальным справлюсь. мы в институте писали всякие программы, только работали уже с таблицами paradox, делали их в database desktop. так что с того момента, как загружусь, я справлюсь.... главное - загрузить


 
ANB ©   (2005-12-05 14:14) [15]


> Daria   (05.12.05 14:08) [14]

А это не развод часом ?

Если нет, тогда выполняй так :

Если файл не очень большой и каждая строка заканчивается возвратом каретки:
0. Почистить целевую таблицу или создать ее
1. Загрузить содержимое файла в TStringList
2. Пройти по строкам списка циклом
3. Разобрать строку на отдельные поля с помощью функции Pos, ища разделители
4. Каждую строку проинсертить в таблицу

Если что то еще непонятно - пости вопросы.


 
alex_*** ©   (2005-12-05 14:18) [16]

а можно Replace по каждой строке пустить и заменить "^" на "," И загрузить в другой StringList и из него таскать записи по Strings[i]


 
alex_*** ©   (2005-12-05 14:20) [17]

[16] - хотя можем данные исказить, это я прогнал :)


 
ANB ©   (2005-12-05 14:23) [18]


> alex_*** ©   (05.12.05 14:18) [16]

TStringList умеет делить по запятым ? А как это сделать ? Я всегда руками разбирал.


 
alex_*** ©   (2005-12-05 14:28) [19]

Дельфей щас нет, но как помню в text присваиваешь строку, разд., запятыми и вперед. DelimitedText еще можно присваивать


 
alex_*** ©   (2005-12-05 14:31) [20]

точно не скажу, дельфей нет опять же.


 
ANB ©   (2005-12-05 14:33) [21]


> alex_*** ©   (05.12.05 14:28) [19]

Точно. Есть такая фича. Ни разу не пробовал, но в моем проекте все равно не поможет - мне нужно было разбирать по запятым, учитывая скобки и комментарии. Так что пришлось все равно руками писать.


 
КиТаЯц ©   (2005-12-05 14:39) [22]

А можно поинтересоваться откуда взялся "txt с разделителями "^"" ???
Понимаю, что сие не суть важно, но любопытно все же... Спасибо.


 
Daria   (2005-12-05 14:55) [23]

файл присылают филиалы и почему-то обязательно с такими разделителями....

Граждане, я, конечно, понимаю, что вы специалисты и маяться со мной не особо интересно..... Но умоляю, напишите примерчик в кодах.... а то все эти пункты 1,2,3 и т.п. понятны только одаренным....


 
ANB ©   (2005-12-05 15:23) [24]


> Daria   (05.12.05 14:55) [23]

Тут быстрее программу целиком написать и не парится с примерами.
А где проживаем ?


 
alex_*** ©   (2005-12-05 15:25) [25]

[24] - Хочешь домой занести? ;)


 
Daria   (2005-12-05 15:25) [26]

на каховке проживаем.....

не хотите писать...  ладно. все равно спасибо :((


 
ANB ©   (2005-12-05 15:28) [27]


> Daria   (05.12.05 15:25) [26]

Почему не хотим ???? Это за расчетом чтобы прийти.

Значится надо :
1. Образец файла для отладки
2. Тип БД
3. Скрипт создания таблицы (если какой - нибудь сервер) или имя и перечень полей и типов таблицы, если она локальная.


 
Daria   (2005-12-05 15:30) [28]

за каким еще расчетом???

я просто задала вопрос. все остальное сама напишу


 
alex_*** ©   (2005-12-05 15:35) [29]

[28] - не грузись ;) это была шутка


 
Daria   (2005-12-05 16:03) [30]

да как же тут не грузиться-то??? начальник волком смотрит...


 
ANB ©   (2005-12-05 16:05) [31]


> Daria   (05.12.05 15:30) [28]

Ну вот. Опять облом. Ну никак заказ на халтуру не получить.

Теперь задавай вопросы по пунктам : какой пункт не понятен, как реализовать.


 
Daria   (2005-12-05 16:16) [32]

ой, какой хороший!!!! :)

2. Пройти по строкам списка циклом
3. Разобрать строку на отдельные поля с помощью функции Pos, ища разделители
4. Каждую строку проинсертить в таблицу //особенно это не ясно


 
alex_*** ©   (2005-12-05 16:30) [33]

девушка, вышли человеку тестовый файл и описание таблицы куда вставлять. Он же хочет тебе помочь, но не может :)


 
ANB ©   (2005-12-05 16:31) [34]


> 2. Пройти по строкам списка циклом

SL : TStringList;

n := SL.Count - 1;
for i := 0 to n do begin
S := SL[i];
// Теперь в S i-я строка
end;


> 3. Разобрать строку на отдельные поля с помощью функции
> Pos, ища разделители

Тут писали пример про TStringList, но, поскольку я это не проверял - то тупорылый способ :
p := Pos("^", S); - теперь в p - номер позиции, в которой лежит ближайший разделитель. Если p = 0, значит разделители кончились.
Теперь можно отрезать в поле начало :
F := Copy(S, 1, p - 1);
и отрезать строку, чтобы можно было искать снова :
S := Copy(S, p + 1, Length(S));
Все это нужно повторять либо пока разделители не кончаться, либо циклом по счетчику, если число разделителей строго определено.


> 4. Каждую строку проинсертить в таблицу //особенно это не
> ясно

21 год ? Недавно ВУЗ закончила и базы совсем не учила ? Тяжелый случай.
Надо учится, а то все заветы Ильича то позабыли.
ЗЫ. На знакомство не претендую - у меня жена моложе.


 
Daria   (2005-12-05 16:33) [35]

ну файла пока нету..... но будет типа следующего:
^E^022^inv^877^naim^pole

таблица, соответственно, со столбцами: ошибка, номер, имя файла, поле, наименование ошибки....


 
ANB ©   (2005-12-05 16:42) [36]


> Daria   (05.12.05 16:33) [35]

БД то какая ?


 
Daria   (2005-12-05 16:54) [37]

в смысле какая?


 
ANB ©   (2005-12-05 16:58) [38]


> Daria   (05.12.05 16:54) [37]

Тип базы данных, в которой будет лежать таблица. С какими БД работать умеешь ?


 
Daria   (2005-12-05 17:00) [39]

если я правильно поняла вопрос, то до этого делала все в paradox. а так вообще с Fox работала я раньше, и что тут в дельфях творится, понимаю с трудом....


 
ANB ©   (2005-12-05 17:04) [40]


> Daria   (05.12.05 17:00) [39]

Дамс. Тут 2 варианта :
1. Заказать готовую программу. Только грамотно выбрать БД. Я бы оракл посоветовал. [:)]
2. Купить книжку и сначала почитать, как в делфи с БД работать. Сложного ничего нет, но тут все не запостишь. Пока читаешь - реализуй первые 3 пункта.



Страницы: 1 2 3 вся ветка

Текущий архив: 2006.02.05;
Скачать: CL | DM;

Наверх




Память: 0.56 MB
Время: 0.038 c
2-1137405620
Пользователь
2006-01-16 13:00
2006.02.05
Создание компонента


2-1137542188
Rusya13
2006-01-18 02:56
2006.02.05
Выбор базы данных


2-1137783836
Dima1
2006-01-20 22:03
2006.02.05
Вопрос по TRichEdit


1-1136655503
navinavi
2006-01-07 20:38
2006.02.05
как определить № выделенной строки в TreeView


3-1134035540
Max Zyuzin
2005-12-08 12:52
2006.02.05
Странное поведение TADOCommand