|
Memo
|
|||
---|---|---|---|
#18+
Согласен, полностью согласен! Я читаю попутно матчасть, какие-то старые книженции есть под рукой да инет на трубке...А задача такая: 1. Поступаемый материал в текстовом виде закинуть в таблицу (содержимое текстовых файлов четкой структуры не имеет) 2. Содержимое необходимо раскидать по полям 3. Вести накопление этого материала 4. Вероятно появится необходимость поиска Это то, что необходимо сделать в первую очередь, дальше по мере необходимости... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2013, 19:55 |
|
Memo
|
|||
---|---|---|---|
#18+
Ну так читай интенсивней или в форум работа и там тебе все сделают за умеренное вознаграждение. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2013, 20:05 |
|
Memo
|
|||
---|---|---|---|
#18+
Это понятно, просто интересно самому сделать... ... |
|||
:
Нравится:
Не нравится:
|
|||
14.10.2013, 20:09 |
|
Memo
|
|||
---|---|---|---|
#18+
вот этоgrommilitaryсодержимое текстовых файлов четкой структуры не имеетвот с этим grommilitaryСодержимое необходимо раскидать по полямкак стыкуется? чёткий алгоритм "раскидывания" (в зависимости от содержимого) есть? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2013, 06:01 |
|
Memo
|
|||
---|---|---|---|
#18+
tanglirвот этоgrommilitaryсодержимое текстовых файлов четкой структуры не имеетвот с этим grommilitaryСодержимое необходимо раскидать по полямкак стыкуется? чёткий алгоритм "раскидывания" (в зависимости от содержимого) есть? chr(13) + chr(10) :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2013, 10:19 |
|
Memo
|
|||
---|---|---|---|
#18+
да действительно, единственный признак это окончание строки,т.е. целиком эти строки я помещаю в таблицу,а дальше необходимо уже определенные подстроки из этих строк раскидать по полям другой таблицы... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2013, 10:41 |
|
Memo
|
|||
---|---|---|---|
#18+
grommilitary, Код: vbnet 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2013, 12:59 |
|
Memo
|
|||
---|---|---|---|
#18+
спасиб тебе!у меня затык вот в чем.в таблице мемополе в нем записи.я заношу в массив по alines() строки из содержимого мемополя,далее подсчитываю кол-во строк в этом массиве по alen() и по циклу эти строки вношу в таблицу.не могу сообразить каким образом закинуть в массив все строки из всех записей мемополя.советовали через scan, не вшарю куда его здесь воткнуть?хелп ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2013, 13:23 |
|
Memo
|
|||
---|---|---|---|
#18+
grommilitaryв таблице мемополе в нем записинаоборот в таблице записи, в каждой записи - мемо-поле grommilitaryя заношу в массив по alines() строки из содержимого мемополяиз одной записи, значит... grommilitaryне могу сообразить каким образом закинуть в массив все строки из всех записей мемополя.советовали через scan, не вшарю куда его здесь воткнуть?"здесь" - это где? показывайте свой код для одного поля, поможем. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2013, 13:36 |
|
Memo
|
|||
---|---|---|---|
#18+
tanglirдля одного полятьфу, для одной записи ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2013, 13:36 |
|
Memo
|
|||
---|---|---|---|
#18+
create ftmp (fname c(30), fcontent M, ftemp c(254)) sele ftmp =alines (aMemoArray, fcontent) for i=1 to alen (aMemoArray,1) insert into ftmp(ftemp) values (aMemoArray(i)) endfor use in ftmp ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2013, 13:54 |
|
Memo
|
|||
---|---|---|---|
#18+
grommilitaryспасиб тебе!у меня затык вот в чем.в таблице мемополе в нем записи.я заношу в массив по alines() строки из содержимого мемополя,далее подсчитываю кол-во строк в этом массиве по alen() и по циклу эти строки вношу в таблицу.не могу сообразить каким образом закинуть в массив все строки из всех записей мемополя.советовали через scan, не вшарю куда его здесь воткнуть?хелп В моем коде показано, как обработать ОДНО мемо-поле, для этого никакие SCAN не нужны. Если тебе нужно заполнить таблицу с построчным представлением файлов содержимых ВСЕХ мемо-полей, нужно проделать SCAN по таблице файлов, поместив вышеупомянутый код внутрь SCAN .. ENDSCAN и соответствующим образом его изменить для правильной нумерации файлов ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2013, 13:56 |
|
Memo
|
|||
---|---|---|---|
#18+
я и ставил скан на вышеприведенный код,только чет нет нужного результата.без скана в работу берется последняя запись,со скан-первая... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2013, 14:08 |
|
Memo
|
|||
---|---|---|---|
#18+
otorva1, у меня код работает также только я в первоначальную таблицу результат сунул, а как для всех теперь сделать? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2013, 14:36 |
|
Memo
|
|||
---|---|---|---|
#18+
я выше свой код привел,подскажите как для него скан верно сделать.. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2013, 14:39 |
|
Memo
|
|||
---|---|---|---|
#18+
grommilitaryя выше свой код привел,подскажите как для него скан верно сделать..тот код читает запись из массива и пишет данные в таблицу, а вы говорили о коде, делающем прямо противоположное - читающем запись из таблицы и раскидывающем её построчно в массив приводите свой код, делающий это - поможем, а пока лично у меня создаётся впечатление, что вы вообще не понимаете что выложенный вами код делает... ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2013, 15:08 |
|
Memo
|
|||
---|---|---|---|
#18+
grommilitarycreate ftmp (fname c(30), fcontent M, ftemp c(254)) sele ftmp =alines (aMemoArray, fcontent) for i=1 to alen (aMemoArray,1) insert into ftmp(ftemp) values (aMemoArray(i)) endfor use in ftmp это и есть мой код, он выполняет то, что нужно,только для одного мемо,а необходимо сделать для всех мемо,находящихся в таблице и записать в другое поле или таблицу,в данном случае строки мемополя заносятся в массив, а оттуда в поле ftemp ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2013, 16:24 |
|
Memo
|
|||
---|---|---|---|
#18+
grommilitarygrommilitarycreate ftmp (fname c(30), fcontent M, ftemp c(254)) sele ftmp =alines (aMemoArray, fcontent) for i=1 to alen (aMemoArray,1) insert into ftmp(ftemp) values (aMemoArray(i)) endfor use in ftmp это и есть мой код, он выполняет то, что нужно,только для одного мемо,а необходимо сделать для всех мемо,находящихся в таблице и записать в другое поле или таблицу,в данном случае строки мемополя заносятся в массив, а оттуда в поле ftemp Ну да, создаешь пустую таблицу, читаешь якобы memo_поле и в эту же таблицу куча инсертов и все это в цикле scan. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2013, 16:32 |
|
Memo
|
|||
---|---|---|---|
#18+
grommilitary, вот код, который собирает содержимое текстовых файлов данной папки в мемо-поле одной таблицы, а затем переписывает текст построчно в другую таблицу Код: vbnet 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2013, 16:33 |
|
Memo
|
|||
---|---|---|---|
#18+
спасибо! у меня все также почти в коде,только единственное,что по mline() из мемополя будут выдергиваться строки как я понимаю без возможности указать разделитель,а по aline() у меня получается раскидать построчно в таблицу по признаку конца строки и переходу на след. или может в вашем примере это возможно? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2013, 16:50 |
|
Memo
|
|||
---|---|---|---|
#18+
grommilitaryспасибо! у меня все также почти в коде,только единственное,что по mline() из мемополя будут выдергиваться строки как я понимаю без возможности указать разделитель,а по aline() у меня получается раскидать построчно в таблицу по признаку конца строки и переходу на след. или может в вашем примере это возможно? Может, и возможно, только зачем? Для извлечения строк из мемо-поля лучше пользоваться функцией, специально для этого предназначенной. Еще лучше извлекать строки для обработки прямо из текстового файла ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2013, 17:16 |
|
Memo
|
|||
---|---|---|---|
#18+
и кстати по memlines() существенно дольше думает прога...получается если делать по alines() не удасться засунуть в scan..endscan? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2013, 17:31 |
|
Memo
|
|||
---|---|---|---|
#18+
grommilitaryпо mline() из мемополя будут выдергиваться строки как я понимаю без возможности указать разделитель,а по aline() у меня получается раскидать построчно в таблицу по признаку конца строки и переходу на след. решилось через set memowidth to ... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2013, 17:48 |
|
Memo
|
|||
---|---|---|---|
#18+
Если исходно речь идет о некоем текстовом файле, то "раскидать" его по записям таблицы можно одной единственной командой вообще без циклов Код: sql 1. 2. 3. 4. 5. 6. 7.
Опция SDF говорит о том, что файл надо рассматривать как файл в котором записаны "поля" фиксированной ширины. Т.е. одна строка файла - это одна запись таблицы, а одно "поле" - это столько символов, сколько символов указано в типе поля принимающей таблицы. Если длина одной строки в текстовом файле может быть больше 254 символов, то достаточно просто создать нужное количество полей в принимающем курсоре Код: sql 1. 2.
Если все-таки хочется использовать массив, то есть специальные команды групповой вставки APPEND FROM ARRAY и INSERT INTO ... FROM ARRAY. Единственное условие для вставки именно многих записей заключается в том, что массив должен быть определен как двумерный. А команда ALINES() создает одномерный массив. Но это препятствие легко можно преодолеть просто переопределив массив после его создания Код: sql 1. 2. 3. 4. 5. 6. 7.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.10.2013, 23:38 |
|
|
start [/forum/topic.php?fid=41&msg=38428602&tid=1582881]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
159ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
others: | 288ms |
total: | 540ms |
0 / 0 |