Главная страница
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 пункта.


 
Daria   (2005-12-05 17:13) [41]

да й меня лежит здоровый толмуд Архангельского......


 
ANB ©   (2005-12-05 17:26) [42]


> Daria   (05.12.05 17:13) [41]
> да й меня лежит здоровый толмуд Архангельского......

Архангельский, конечно, не фонтан, но общее предстваление поимеешь.
Завтречка в аську мою заходи - помогу, чем с могу. Моя аська :
2-8 - тире - 534 - (02) - 44


 
Плохиш ©   (2005-12-05 17:27) [43]


> да й меня лежит здоровый толмуд Архангельского

Попрошу гусаров в эту ветку не заходить!


 
Daria   (2005-12-05 17:28) [44]

чего???? что за номер???


 
Плохиш ©   (2005-12-05 17:31) [45]


> Daria   (05.12.05 17:28) [44]

Девушка, Вас ANB в аське ждёт.
А Архангельский здесь самый почитаемый автор ;-)


 
Daria   (2005-12-05 17:36) [46]

молодые люди, ну не всем же быть такими профи в дельфи как вы. поэтому чем издеваться, лучше научите....


 
Плохиш ©   (2005-12-05 17:41) [47]


> Daria   (05.12.05 17:36) [46]

Девушка над Вами никто пока не издевается. А ANB хочет помочь и проиглашает пообщаться с помощью программы ICQ.


 
ANB ©   (2005-12-05 17:49) [48]


> Daria   (05.12.05 17:36) [46]

Из номера нужно убрать все не цифры. Это меня уже роботы задолбали.


 
Daria   (2005-12-05 18:02) [49]

ясно. вот только аська пишет, что такой номер не зарегистрирован


 
Daria   (2005-12-05 18:03) [50]

Плохиш, я безмерно благодарна ANB. :) правда!


 
аматор ©   (2005-12-05 22:07) [51]

Привет...
Это, кажись, csv файлик. Ну и в чем проблема, ищем компоненты, компилим, и работаем. Такие компоненты есть в проэкте джедаев (http://delphi-jedi.org/) и на www.torry.net


 
sniknik ©   (2005-12-05 23:14) [52]

делается просто
подключаемся через ADO - jet к исаму Text

строка подключения
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\;Extended Properties=Text;Persist Security Info=False

выполняем запрос
SELECT * INTO Table1#db IN "D:\" "Paradox 4.x;" FROM Table1#Txt

все. получаем желаемый ".db" файл.

в каталоге с текстовым файлом должен лежать файл описатель cvs
имя
schema.ini
содержание по формату, пример для разделителя ^
[Table1.Txt]
ColNameHeader=True
CharacterSet=866
Format=Delimited(^)
Col1=ID Integer
Col2=Bol Bit
Col3=Name Char Width 30

подробный разбор формата в хелпе JETSQL40.CHM, хелп у тебя же на компе, если пользуешся продуктами мелкософта.

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


 
Daria   (2005-12-06 09:46) [53]

sniknik, огромное спасибо!!!!

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


 
ANB ©   (2005-12-06 10:18) [54]


> Daria   (06.12.05 09:46) [53]

Запости свою аську. Только попорти номер, а то спамеры замучают.


 
alex_*** ©   (2005-12-06 10:19) [55]

ADOConnection1.LoginPromt := false;


 
Daria   (2005-12-06 10:19) [56]

ANB, пусть хоть кто-то помучает кроме начальника :)

258922802


 
alex_*** ©   (2005-12-06 10:30) [57]

кстати строки удобно парсить через ExtractStrings


 
msguns ©   (2005-12-06 11:04) [58]

Читал и рыдал ;((
Лавстори, блин !!!

ЗЫ.И грызут меня черви зависти

ЗЗЫ. Вот так всю жизнь: стОит симпатичной девушке зарулить с вопросом, как все всё кидают и давай вьюнами виться вокруг юбчонки.


 
msguns ©   (2005-12-06 11:06) [59]

Кстати, Дарьюшка, учти: тут в основном все женатые. Причем, как правило: чем грамотнее, тем женатистее.
Смотри !,- поматросят и бросят


 
Sergey13 ©   (2005-12-06 11:10) [60]

2 [59] msguns ©   (06.12.05 11:06)
Да ладно тебе брюзжать то, завистник. Женатость в этом деле не помеха (это я о помощи в программировании, если кто чего не того подумал). 8-)


 
Daria   (2005-12-06 11:22) [61]

msguns, я учту по поводу женатости :)


 
alex_*** ©   (2005-12-06 12:06) [62]

с программой-то разобрались?


 
Daria   (2005-12-06 12:14) [63]

пока нет


 
WondeRu ©   (2005-12-06 12:26) [64]

Оффтоп, но "в тему" ;)
Анечка, 05.12.2005 11:43 :
Игорь... мне нужна БД в Делфи...
WondeRu, 05.12.2005 11:43 :
Ща глянем, что в инете можно накопать
WondeRu, 05.12.2005 11:43 :
в принципе дома у меня книга есть
WondeRu, 05.12.2005 11:44 :
у тебя как с аглицким?
Анечка, 05.12.2005 11:45 :
не очень...
WondeRu, 05.12.2005 11:46 :
получила письмо?
Анечка, 05.12.2005 11:47 :
нет... какое?
WondeRu, 05.12.2005 11:47 :
еще раз отправил...
WondeRu, 05.12.2005 11:47 :
там книжка на русском....
WondeRu, 05.12.2005 11:48 :
пароль к архиву "1"
Анечка, 05.12.2005 11:48 :
там есть объяснения - как построить примитивную БД?
WondeRu, 05.12.2005 11:48 :
фиг знает...)))
WondeRu, 05.12.2005 11:48 :
вроде бы
Анечка, 05.12.2005 11:50 :
получила...
WondeRu, 05.12.2005 11:56 :
ну как?
WondeRu, 05.12.2005 11:57 :
понятно хоть что-нить?
Анечка, 05.12.2005 11:57 :
я не открывала...
Анечка, 05.12.2005 11:58 :
я в выходные пыталась вспомнить, как Делфи работает... прикольно...
WondeRu, 05.12.2005 11:59 :
прикольно вспоминалось? ;)
Анечка, 05.12.2005 12:05 :
дааа... с трудом....
……/.тут разговор про то чья бабушка лучше готовит пироги./
WondeRu, 05.12.2005 15:28 :
может поможет http://www.sql.ru
Анечка, 05.12.2005 15:56 :
Можешь дать практические советы? ;-)
WondeRu, 05.12.2005 15:57 :
по массажу?
Анечка, 05.12.2005 15:57 :
ха-ха! ))
Анечка, 05.12.2005 16:22 :
ты мне поможешь? плиизз...
WondeRu, 05.12.2005 16:23 :
как?
Анечка, 05.12.2005 16:23 :
подскажи... как создать БД...
WondeRu, 05.12.2005 16:25 :
где создать?
Анечка, 05.12.2005 16:26 :
смотри... мне нужна простейшая БД...
Анечка, 05.12.2005 16:26 :
сещ БД со студентами... + оценки по предметам
Анечка, 05.12.2005 16:26 :
необходимо отобрать тех, кто учится на пятерки... четверки и т.д.
WondeRu, 05.12.2005 16:26 :
в аксцессе можно создать и подрубить к делфи
Анечка, 05.12.2005 16:27 :
надо чтоб сразу в Делфи...
Анечка, 05.12.2005 16:27 :
это что-то типа курсовой...
WondeRu, 05.12.2005 16:27 :
ты издеваешься?
WondeRu, 05.12.2005 16:28 :
нельзя!
Анечка, 05.12.2005 16:28 :
неее...
Анечка, 05.12.2005 16:28 :
можно!
Анечка, 05.12.2005 16:28 :
почему нельзя-то?
WondeRu, 05.12.2005 16:28 :
тогда это не ко мне
Анечка, 05.12.2005 16:29 :
почему?... я чего-то не понимаю? )
Анечка, 05.12.2005 16:29 :
ты же программист!
WondeRu, 05.12.2005 16:30 :
>> 05.12.2005 16:26:58 WondeRu wrote:
>> в аксцессе можно создать и подрубить к делфи
Анечка, 05.12.2005 16:39 :
Ладно... хорошо... я спрошу у кого-нибудь еще...


 
Плохиш ©   (2005-12-06 12:31) [65]


> WondeRu ©   (06.12.05 12:26) [64]

Ты - не хороший человек, взял и рассказал всё продолжение серии.


 
Daria   (2005-12-06 12:32) [66]

как примитивную БД сделать это я знаю..... вот только всего остального не знаю...


 
msguns ©   (2005-12-06 12:44) [67]

>Daria  

Самое простое и быстрое решение подсказал sniknik ©   (05.12.05 23:14) [52]

Для реализации надо из палитры компонент (закладка ADO) "бросить" на форму TADOConnection, TADOQuery.
В первом, сделав на нем даблклик, настроить провайдера так, как указано в [52],
во втором в св-ве SQL набрать текст запроса оттуда же, в св-ве Connection указать ADOConnection1

Затем подготовить ini-файл по образцу там же.

По кнопке на форме :
а) открыть соединение (TADOConnection), чтобы не клянчило юзернэйм и пасворд в св-ве TADOConnection.Loginprompt указать false
б) дать Open TADOQuery
c) дать Close TADOQuery

Десктопом (DataBase DeskTop - входит в поставку делфей) просмотреть результат. Если что-то не так, подшаманить ini-файл, убить таблицу (типа отправить в корзину), запустить приложение и нажать кнопку еще раз.


 
Daria   (2005-12-06 13:09) [68]

msguns, спасибо! все ясно. вот только куда он мою таблицу записывает? где в десктопе искать?


 
Daria   (2005-12-06 13:15) [69]

и еще где
б) дать Open TADOQuery
c) дать Close TADOQuery


 
msguns ©   (2005-12-06 13:35) [70]

Если не указан путь (а он в запросе Sniknik не указан), то таблица создасться в текущем каталоге (откуда запущена программа, если не указан рабочий).

procedure TForm1.Button1Click(Sender: TObject);
begin
 ADOConnection1.Open;
 ADOQuery1.Open;
 ADOQuery1.Close;
 ADOConnection1.Close;
 ShowMessage("Таблица создана. Посмотри ее DBD в "+GetCurrentDir);
end;


 
alex_*** ©   (2005-12-06 13:35) [71]

в тексте программы. Open - перед началом работы, Close  - в конце


 
Daria   (2005-12-06 13:43) [72]

а обязательно должно бытьтак:

строка подключения
Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\;Extended Properties=Text;Persist Security Info=False
просто у меня нет диска D. что должно быть в Data source?

выполняем запрос
SELECT * INTO Table1#db IN "D:\" "Paradox 4.x;" FROM Table1#Txt

и что это такое: Table1#db IN "D:\" "Paradox 4.x;" FROM Table1#Txt??


 
WondeRu ©   (2005-12-06 13:53) [73]

Daria   (06.12.05 13:43) [72]
просто у меня нет диска D.

купи ;)


 
Плохиш ©   (2005-12-06 13:54) [74]

Вся ветка развод :-(


 
msguns ©   (2005-12-06 13:58) [75]

>Daria   (06.12.05 13:43) [72]

Даааа,... Дашуня...  Все гораздо запущеннее... ;(
Ты "кинула" на форму TADOConnection ?
Если нет, то кинь.
Дважды щелкни на "квадратике" с нарисованным ПК и плакатиком "ADO" над ним. Появится формочка Source of Connection с двумя радиобатонами.
Кликни по нижнему и нажми кнопку "Build". В появившемся окне увидишь пэджконтрол с 4-мя закладками.
На первой (Provider) выбери Microsoft.Jet.OLEDB.4.0 Provider
На второй (Connection) нажми кнопку выбора файла (п.1) и выбери свой текстовик в открывшемся окне диалога (для чего убери фильтр типа файлов)


 
msguns ©   (2005-12-06 14:00) [76]

>Плохиш ©   (06.12.05 13:54) [74]
>Вся ветка развод :-(

Вот блин, об этом я не подумал..
Вот что могут сделать симпатишные деучёнки - савсэм голову патэрял ;(


 
WondeRu ©   (2005-12-06 14:08) [77]

msguns ©   (06.12.05 14:00) [76]
симпатишные деучёнки

точно симпатичные?

ЗЫ. Пора по потрепацца перетаскивать


 
alex_*** ©   (2005-12-06 14:20) [78]

ANB, судя по всему, не помог по аське. c:\Program Files\Borland\Delphi7\Demos\Db\ - примеры по работе с БД


 
Daria   (2005-12-06 14:41) [79]

ой, блин, он мне пишет, "нераспознаваемый формат базы данных" когда я в connection свой текстовый файл указываю....


 
Daria   (2005-12-06 14:47) [80]

а что писать вместо SELECT * INTO Table1#db IN "D:\" "Paradox 4.x;" FROM Table1#Txt ????


 
alex_*** ©   (2005-12-07 10:32) [81]

напиши "Hello world"


 
ANB ©   (2005-12-07 12:40) [82]


> alex_*** ©   (06.12.05 14:20) [78]
> ANB, судя по всему, не помог по аське. c:\Program Files\Borland\Delphi7\Demos\Db\
> - примеры по работе с БД

Ей и БД то не нужно. Нужно файл распилить на несколько, в зависимости от содержимого полей строк.


 
Engel   (2005-12-07 19:19) [83]

unit t;

interface

uses Classes, SysUtils;

type
T0Rec=packed record
 LineCode      : char;
 ENRD        : array [0..15] of char;
 DocName       : array [0..29] of char;
 PlDocNum      : array [0..2] of char;
 LineTerminator   : array [0..1] of byte;
end;

 T0Imp=Class
 private
 F0Recs: TList;
   FKBKList: TStringList;
   FKBKCount: Integer;

   function Get(Index: Integer): T0Rec;
   procedure put(Index: Integer; const Value: T0Rec);
   function GetCount: Integer;
   function IsKBKPresent (KBK: String): Boolean;
   function GetKBKList: Integer;
 public
  constructor Create;
  destructor Free;
  procedure Add (Value: T0Rec);
  function LoadData (FileName: String): Integer;
   function FindENRD (ENRD: String): Integer;
  property Items[Index: Integer]: T0Rec read Get write put; default;
  property Count: Integer read GetCount;
   property KBKList: TStringList read FKBKList;
   property KBKCount: Integer read FKBKCount;
 end;

implementation

uses
 Dialogs;

{ T0Imp }

procedure T0Imp.Add(Value: T0Rec);
var
Tmp: ^T0Rec;
begin
New (Tmp);
Tmp^:=Value;
F0Recs.Add(Tmp);
end;

constructor T0Imp.Create;
begin
inherited Create;
F0Recs:=TList.Create;
FKBKList:=TStringList.Create;
FKBKCount:=0;
end;

destructor T0Imp.Free;
begin
F0Recs.Clear;
F0Recs.Free;
FKBKList.Clear;
FKBKList.Free;
inherited Destroy;
end;

function T0Imp.Get(Index: Integer): T0Rec;
begin
Result:=T0Rec(F0Recs[Index]^);
end;

function T0Imp.LoadData(FileName: String): Integer;
var
F: TFileStream;
Buff: T0Rec;
begin
Try
Try
 F:=TFileStream.Create(FileName, fmOpenRead);
except
  MessageDlg("Ошибка открытия файла "+FileName, mtError, [mbOK], 0);
   Result:=-1;
 Exit;
end;
While (F.Read(Buff, SizeOf(Buff))=SizeOf(Buff)) do
 Begin
  If (Buff.LineCode="1") or (Buff.LineCode="2") or (Buff.LineCode="3") Then
    Add(Buff);
  end;
Try
 FKBKCount:=GetKBKList;
except
  MessageDlg("Ошибка извлечения списка КБК из "+FileName, mtError, [mbOK], 0);
 Exit;
end;
Finally
F.Free;
Result:=F0Recs.Count;
end;
end;

procedure T0Imp.put(Index: Integer; const Value: T0Rec);
var
Tmp: ^T0Rec;
begin
New (Tmp);
Tmp^:=Value;
F0Recs[Index]:=Tmp;
end;

примерно так...разбираем построчно, а потом в базу.


 
alex_*** ©   (2005-12-07 19:35) [84]

жесть. кондово. и это предназначено для бедной Даши?
а из каких соображений выбрал такие размеры массивов? а если получим DocName.Length() > 29? Без Pchar и операций с указателями нельзя было? и комменты можно было б проставить.


 
alex_*** ©   (2005-12-07 19:37) [85]

и что-то я ни одного Dispose не вижу.


 
аматор ©   (2005-12-07 22:18) [86]

С диском проблема!!!
Проще будет в лине. Там дисков нет.
А текстовой файлик и бде открывает. И вообще обязательно текстовой файлик, может краше дбф иль подобное...(тем более: "ну файла пока нету..... но будет типа следующего:" зачем мучить тхт)...


 
ANB ©   (2005-12-08 09:16) [87]


> Engel   (07.12.05 19:19) [83]

У нее формат CSV(плавающие размеры полей с разделителями), а ты дал пример для фиксированного размера записи. Впрочем, я не поленился, убил вчера 15 минут и выслал ей работающий код.

ЗЫ. А девчонка ничего, прикольная, только феминистка.


 
msguns ©   (2005-12-08 09:23) [88]

>Engel   (07.12.05 19:19) [83]

Спрячь и никому не показывай.

>ANB ©   (08.12.05 09:16) [87]
>А девчонка ничего, прикольная, только феминистка.

Я вот кое-кому-то расскажу-то


 
sniknik ©   (2005-12-08 11:05) [89]

> ЗЫ. А девчонка ничего, прикольная, только феминистка.
бороду сбрить, наколки свести, и ничего будет .... сипатишная. (и вовсе не феминистка, а нормальный)


 
Daria   (2005-12-08 11:23) [90]

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


 
Плохиш ©   (2005-12-08 11:39) [91]


> Daria   (08.12.05 11:23) [90]

Может ты всё-таки сходишь в магазин и купишь поллитра? ... ой блин, об чём это я? книжку каку-нибуть?


 
ANB ©   (2005-12-09 10:38) [92]


> sniknik ©   (08.12.05 11:05) [89]

Ошень даже может быть.


 
Sergey13 ©   (2005-12-09 10:54) [93]

2[92] ANB ©   (09.12.05 10:38)
> Ошень даже может быть.
А чего шепелявить то начал. Уже повстречался? 8-)


 
ANB ©   (2005-12-09 11:32) [94]


> Sergey13 ©   (09.12.05 10:54) [93]

Не, еще нет. Да и не стремлюсь - вдруг правда девченкой окажется. А у меня жена ревнивая.


 
Daria   (2005-12-09 11:57) [95]

сейчас вас всех прямо-таки удивлю....
я действительно девушка


 
Sergey13 ©   (2005-12-09 12:02) [96]

2[95] Daria   (09.12.05 11:57)
>я действительно девушка
Это твои трудности. 8-)


 
Плохиш ©   (2005-12-09 12:22) [97]


> Daria   (09.12.05 11:57) [95]
> я действительно девушка

"У каждого свои недостатки" (c) "В джазе только девушки" :-)


 
Daria   (2005-12-09 12:31) [98]

:) ну спасибо на добром слове, блин!



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

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

Наверх




Память: 0.72 MB
Время: 0.03 c
15-1137401234
Pazitron_Brain
2006-01-16 11:47
2006.02.05
Глобальные проблемы


15-1137170731
Ксардас
2006-01-13 19:45
2006.02.05
Подскажите плиз


15-1137528952
Nous Mellon_
2006-01-17 23:15
2006.02.05
Демократия в деле.


15-1137548206
Фрэнд
2006-01-18 04:36
2006.02.05
Что в папке C: WINDOWS Recent ?


1-1135789538
1vopros
2005-12-28 20:05
2006.02.05
Динамическая record - возможно? Как реализовать?