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

Вниз

Таблица из текстового файла   Найти похожие ветки 

 
Xmen   (2008-11-28 16:01) [0]

Привет мастерам!
У меня такой случае. Нужно использовать текстовый файл как базу, то есть в программе нужно использовать справочники с элементами таблицы. Записи обычно 20 - 25 шт, иногда нужно их освежить (удалить, редактировать, добавить). Для этого я бы не хотел использовать какое то СУБД, а воспользоваться простым текстовым файлом. В каком направление посоветуете мне работать.


 
Ega23 ©   (2008-11-28 16:04) [1]

XML + TClientDataSet


 
Sergey13 ©   (2008-11-28 16:05) [2]

> [0] Xmen   (28.11.08 16:01)
> Для этого я бы не хотел использовать какое то СУБД

Почему? Зачем тогда в Базы запостил?


 
Xmen   (2008-11-28 16:13) [3]


> > [0] Xmen   (28.11.08 16:01)> Для этого я бы не хотел использовать
> какое то СУБДПочему? Зачем тогда в Базы запостил?

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


 
stas ©   (2008-11-28 16:17) [4]

Xmen   (28.11.08 16:13) [3]
cxGrid


 
Sergey13 ©   (2008-11-28 16:20) [5]

> [3] Xmen   (28.11.08 16:13)

Ну так смысл то какой в этом?


 
Jeer ©   (2008-11-28 16:38) [6]


> Xmen   (28.11.08 16:01)
>
> Привет мастерам!
> У меня такой случае. Нужно использовать текстовый файл как
> базу, то есть в программе нужно использовать справочники
> с элементами таблицы. Записи обычно 20 - 25 шт, иногда нужно
> их освежить (удалить, редактировать, добавить). Для этого
> я бы не хотел использовать какое то СУБД, а воспользоваться
> простым текстовым файлом. В каком направление посоветуете
> мне работать.


В простом направлении:

- составить список потребной функциональности по доступу к данным.
- определиться со структурой данных;
- "нарисовать" интерфейс доступа к определенной структуре данных на основе составленного списка функциональности;


 
Сергей М. ©   (2008-11-28 16:43) [7]


> Xmen


Весьма полезный ликбез по теме
http://www.rsdn.ru/article/delphi/dbcontrols.xml


 
palva ©   (2008-11-28 21:59) [8]


> Ну мне нужно работать как с базой но в роле хранилиша должно
> быть текстовый файл.

odbc может подключаться к текстовому файлу как к таблице. Конечно, файл должен иметь "табличный вид", поля отделены друг от друга разделителем или выровнены по ширине. Подсоединяйтесь через ADO и читайте. Писать, по-моему, нельзя. (Я не пробовал.)


 
Труп Васи Доброго ©   (2008-11-29 00:10) [9]

Тебе убиться как принципиально именно текстовый файл использовать?
Может табличка старого доброго Excel спасёт твою карму?
И просто посмотреть на него можно и ручками подправить и в программе как таблицу подключить со всеми вытекающими прелестями.


 
Xmen   (2008-12-01 07:01) [10]

Делаю простую прогу для печати платежек. Что бы сохранить данные о клиентах нужно было их данные сохранить в техтовом файле. Так как нужно простая прога я бы нехотел исползовать базу.
Пример сделал так
procedure TForm2.RzBitBtn1Click(Sender: TObject);
var
 F: file of TMember;
 i: Integer;
begin
 AssignFile(F,"client.dat");
 Rewrite(F);
 try
   Members[1].name:="2 - болалар богчаси.";
   Members[1].acc:="12345678912345678900";
   Members[1].bcode:="00452";
   Members[1].bname:="Gallabank";
   Members[1].okonx:="1042572";
   Members[1].inn:="3415821";
   Members[2].name:="13 - мактаб.";
   Members[2].acc:="12345671912345678900";
   Members[2].bcode:="00521";
   Members[2].bname:="Pakhtabank";
   Members[2].okonx:="7842572";
   Members[2].inn:="3414521";
   Members[4].name:="5 - мехрибонлик уйи.";
   Members[4].acc:="22345678912345678910";
   Members[4].bcode:="00332";
   Members[4].bname:="NBU";
   Members[4].okonx:="1490572";
   Members[4].inn:="6415828";
   for i := 1 to 50 do write(F,Members[i]);
 finally
   CloseFile(F);
 end;
end;

И ввод в таблицу
procedure TForm2.FormShow(Sender: TObject);
var
 ReadMembers: array[1..50] of TMember;
 F: file of TMember;
 i: Integer;
begin
 AssignFile(F,"client.dat");
 Reset(F);
 try
   i:=0;
   while not Eof(F) do
   begin
     read(F,ReadMembers[i]);
     StringGrid1.Cells[0,i]:=ReadMembers[i].name;
     StringGrid1.Cells[1,i]:=ReadMembers[i].acc;
     StringGrid1.Cells[2,i]:=ReadMembers[i].bcode;
     StringGrid1.Cells[3,i]:=ReadMembers[i].bname;
     StringGrid1.Cells[4,i]:=ReadMembers[i].okonx;
     StringGrid1.Cells[5,i]:=ReadMembers[i].inn;
     i:=i+1;

   end;
  finally
    CloseFile(F);
  end;  

end;
Но так не оченто получается


 
Сергей М. ©   (2008-12-01 08:40) [11]


> Что бы сохранить данные о клиентах нужно было их данные
> сохранить в техтовом файле


Почему именно текстовом-то ?
Это что, блажь или чем-то обоснованное решение ?
Ну возьми ты, к примеру, TClientDataSet - он, с одной стороны, есть наследник TDataSet со всеми его прелестями, а с другой умеет одним махом (LoafFromFile/SaveToFile) загружать/выгружать из/в файл набор данных в своем спец.формате


 
Xmen   (2008-12-01 08:52) [12]


> Сергей М. ©   (01.12.08 08:40) [11]
> > Что бы сохранить данные о клиентах нужно было их данные
> > сохранить в техтовом файлеПочему именно текстовом-то ?
> Это что, блажь или чем-то обоснованное решение ?Ну возьми
> ты, к примеру, TClientDataSet - он, с одной стороны, есть
> наследник TDataSet со всеми его прелестями, а с другой умеет
> одним махом (LoafFromFile/SaveToFile) загружать/выгружать
> из/в файл набор данных в своем спец.формате


А как это?


 
Sergey13 ©   (2008-12-01 09:05) [13]

> [10] Xmen   (01.12.08 07:01)
> Так как нужно простая прога я бы нехотел исползовать базу.

А ты еще и винду не используй - зачем такое усложнение.

> Делаю простую прогу для печати платежек
И через год-полтора, когда платежек будут тысячи, заказчик вдруг (все события подобного рода происходят обычно ВДРУГ!) захочет посмотреть статистику свох платежей в разных разрезах или (не дай бог) поработать над платежками совместно.


 
Xmen   (2008-12-01 09:17) [14]

Ну я насчет простого я специально. Это прога для маленкой конторы, а там клиенты максимум 10-15. И им излишный такие навароты.


 
Sergey13 ©   (2008-12-01 09:22) [15]

> [14] Xmen   (01.12.08 09:17)
> И им излишный такие навароты.

Какие навороты? Статистика по платежам у начальника? Более 1 человека вводящего платежки?
В чем сложность использования СУБД? В наличии нескольких файлов вместе с программой?


 
Xmen   (2008-12-01 09:45) [16]

Ну я хотел без СУБД. :(


 
Сергей М. ©   (2008-12-01 10:05) [17]


> Xmen   (01.12.08 08:52) [12]


Что "как это" ?


 
Виталий Панасенко   (2008-12-01 10:16) [18]


> Xmen   (01.12.08 08:52) [12]

Имеются спецметоды у CDS - SaveToFile/LoadFromFile, Но я бы использовал СУБД... MS Access формат например...доступ к БД через ADO(Jet) и все дела.


 
ilshat   (2008-12-01 10:20) [19]

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


 
Anatoly Podgoretsky ©   (2008-12-01 10:28) [20]


> Делаю простую прогу для печати платежек. Что бы сохранить
> данные о клиентах нужно было их данные сохранить в техтовом
> файле.

Тебе нужен Эксель.
Он самодостаточен для данной работы.


 
clickmaker ©   (2008-12-01 12:38) [21]

> Это прога для маленкой конторы, а там клиенты максимум 10-
> 15

можно какую-нибудь embedded db
типа firebird


 
Xmen   (2008-12-01 14:21) [22]


> clickmaker ©   (01.12.08 12:38) [21]
> > Это прога для маленкой конторы, а там клиенты максимум
> 10-> 15можно какую-нибудь embedded dbтипа firebird


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


 
Сергей М. ©   (2008-12-01 14:27) [23]


> Xmen   (01.12.08 14:21) [22]
>
>


Сказано же - откажись от текст.формата контейнера (ибо ничем до сих пор не аргументировано, а значит блажь) в пользу TClientDataset"а.

Удовольствие от его использования получишь до поросячьего визга)

Я серьезно.


 
Sergey13 ©   (2008-12-01 14:41) [24]

> [22] Xmen   (01.12.08 14:21)
> это будет мене чем килобайт информации

Так ты пишешь программу для печати одного экземпляра платежки?!!! Ну тогда да. Но проще в ексель или в ворде напечатать.


 
MsGuns ©   (2008-12-01 14:44) [25]

Можно использовать в качестве хранилища простейшей базы данных текстовый файл, но это имеет много минусов
1) Файл никак не защищен от случайного илии намеренного изменения без Вашей программы
2) Файл не может быть использован как многопользовательский (два одновременно работающих ПК - это уже многопользовалельский режим)
3) Файл будет "тормозить" при загрузке и сохранении
4) Файл не может хранить данные о нескольких разных объектах либо это будет "сложный" файл и методы работы с ним также будут сложными
5) Файл исключает возможность частичной выборки, его надо будет постоянно загружать полностью. Иначе-см. 4) со всеми неприятными последствиями
6) Файл не "защищен" от некорректных данных либо их неполноты (отсутствия)

Если все же "нада", то не следует работать с таким файлом просто как со строками (например через TStringGrid или TListView, обо в этом случае все поиски, сортировки, фильтры и т.д. придется делать ручками, а в виду очевидного отсутствия у Вас опыта в таких делах, все это будет тормознуто и глючно. Воспользуйтесь подсказанным выше TClientDataSet, у которого масса фич именно для работы с табличными данными. Хотя в этом случае Вам придется вручную и загружать в него данные и сохранять затем обратно в файл. Да и все перечисленные в начале минусы останутся.

ИМХО, все же Экслеь или для многопользовательского доступа (так сказать на "вырост") не поленитесь освоить какую-нибудь СУБД. Убежден, рано или поздно этот опыт окажется весьма полезным


 
MsGuns ©   (2008-12-01 14:47) [26]

И еще.
Для платежей одной таблицы (файла) явно недостаточно. Надо еще как минимум 3 справочника: банков, контрагентов и видов платежей. Да и выписки тоже по-хорошему надо хранить - а это еще одна таблица.


 
clickmaker ©   (2008-12-01 14:57) [27]

> я бы нехотел исползовать пушку. Мне для этого достаточно
> перочиного ножа

так а embedded - это и есть что-то типа перочинного ножа
пушка - это ms sql или оракл


 
Xmen   (2008-12-01 15:25) [28]

Я сам в проектах использую FB - мой любимый СУБД.
У меня в справочнике будет толка один файл с информации.
Имя клиенте, р/с,код банка, МФО банка, имя банка, оконх, инн и все в одной строки. А клиентов штук 10 - 15. Для 15 строк не хочется беспокоить FB. А так мне легче было бы его использовать. Мне понравилось предложение насчет TClientDataSet. И как правильно использовать его? Немножко примера не помешаеть мне.


 
Сергей М. ©   (2008-12-01 15:39) [29]


> как правильно использовать его?


Используй его как любой другой наследник TDataSet.
Основная разница в том, что открытие НД происходит при вызове CreateDataset (создается пустой НД заданной тобой структуры) или при вызове LoadFromFile (готовая структура НД вместе с самими ранее сохраненными методом SaveToFile данными грузится из указанного файла)


 
Anatoly Podgoretsky ©   (2008-12-01 16:02) [30]

> Xmen  (01.12.2008 15:25:28)  [28]

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


 
Loginov Dmitry ©   (2008-12-01 22:31) [31]

> А клиентов штук 10 - 15. Для 15 строк не хочется беспокоить
> FB


Это одних только клиентов 15 шт! А организация, которой предназначена эта прога, вероятно будет регулярно оформлять платежи тем или иным клиентам. В день по платежу, это уже 300 документов, а никак не 15 строк!!! А за FB не нужно беспокоиться, это инструмент как раз и предназначен для хранения всевозможных данных, в том числе и "15 строк клиентов".


> Тебе нужен Эксель.
> Он самодостаточен для данной работы.


+1)


 
Xmen   (2008-12-03 10:29) [32]

Спасибо за советы я уже начал работат с базой FB. Долго думал после ваших советов и решил нужно всетаки сделать полноценную прогу или хотябы похоже нанего. И так новый вопрос как правильно организовать структуру программы?


 
Sergey13 ©   (2008-12-03 10:54) [33]

> [32] Xmen   (03.12.08 10:29)
> И так новый вопрос как правильно организовать структуру
> программы?

читать умеешь?

> [26] MsGuns ©   (01.12.08 14:47)


 
Сергей М. ©   (2008-12-03 10:59) [34]


> Xmen


Если ты на время откажешься от затеи с FB и задействуешь TClientDataset, решив тем самы проблему с контейнером простейшим и очевиднейшим способом, то впоследствии заменить файловый контейнер на FB будет очень просто, без радикальной переделки программы : вместо LoadFromFile - Open, вместо SaveToFile - ApplyUpdates


 
MsGuns ©   (2008-12-03 12:40) [35]

>Xmen   (03.12.08 10:29) [32]
>как правильно организовать структуру программы?

Вы хотели сказать "структуру БАЗЫ ДАННЫХ" ?
Если да, то быстрее всего просветиться в этом вопросе можно просто внимательно ознакомившись с 1С (типовая конфигурация). Вы по крайней мере "въедете" в предметную область, определитесь с объектами и их свойствами. После чего "нарисовать" модель БД будет много проще.


 
Xmen   (2008-12-03 13:17) [36]

Пока сдела 2 таблицы.

CREATE TABLE CLIENTS (
   ID            INTEGER NOT NULL,
   CL_NAME       VARCHAR(150),
   CL_ACC        CHAR(20),
   CL_BANK_CODE  INTEGER,
   CL_BANK_NAME  VARCHAR(150),
   CL_OKONX      INTEGER,
   CL_INN        INTEGER
);

ALTER TABLE CLIENTS ADD CONSTRAINT PK_CLIENTS PRIMARY KEY (ID);

CREATE TABLE PLATEJKA (
   ID           INTEGER NOT NULL,
   CL_ID        INTEGER,
   PL_NUM       INTEGER,
   PL_DATE      DATE,
   PL_SUMMA     NUMERIC(15,2),
   PL_SUM_WORD  VARCHAR(200),
   PL_PUR_PAY   VARCHAR(200)
);
Сделал толко одну табицу справочника.

>как правильно организовать структуру программы?
Я и самой проги хотел спросить.


 
clickmaker ©   (2008-12-03 13:26) [37]

> CL_

это лишнее. Зачем усложнять?

> CL_ID        

лучше CLIENT_ID

INN может не влезть в integer (там же 12 цифр, насколько я знаю)


 
Сергей М. ©   (2008-12-03 13:28) [38]


> PL_SUM_WORD


Вот эту хрень сразу убирай - никому в базе она не нужна


 
Anatoly Podgoretsky ©   (2008-12-03 13:54) [39]


> INN может не влезть в integer (там же 12 цифр, насколько
> я знаю)

INN это не число, а код, поэтому никаких числовых типов.


 
Xmen   (2008-12-03 16:02) [40]

У нас ИНН 7 значные


 
Сергей М. ©   (2008-12-03 16:17) [41]


> У нас ИНН 7 значные


Это где, на о.Борнео ?


 
Anatoly Podgoretsky ©   (2008-12-03 16:31) [42]

> Xmen  (03.12.2008 16:02:40)  [40]

А что будешь делать, если завтра станут 10 значные.


 
MsGuns ©   (2008-12-03 16:44) [43]

Замечания к (36)

Первое.
До каких бы то ни было манипуляций с сервером (создания таблиц и пр.) надо НАРИСОВАТЬ модель базы. Т.е. определить ОБЪЕКТЫ и их СВОЙСТВА (характеристики). Затем нарисовать между ними связи. Уже по рисунку будет видно ОБЩЕЕ между объектами, которое затем будет использовано при НОРМАЛИЗАЦИИ, т.е. придание характеристкам АТОМАРНОСТИ, а также устранение ИЗБЫТОЧНОСТИ. По этой же схеме будет видно, какие характеристики являются ОСНОВНЫМИ, вводимыми непосредственно с документов или иных внешних источников, а какие РАСЧЕТНЫМИ или СЛУЖЕБНЫМИ, т.е. вычисляемыми или используемыми программно.

Второе.
Я бы не советовал Вам давать имена полям и таблицам используя спецсимволы или длинные имена - такая нотация существенно усложнит читабельность запросов, да при разработке проекта в Дельфи будут сложности.  В качестве префикса (удобная вещь) в именах достаточно использовать один символ, если, конечно, Ваша база не будет насчитывать многие десятки таблиц.

Третье.
Некоторые "нативные" характеристики (МФО, ИНН, Расчетные счета, Налоговые номера и т.д.), которые якобы числовые, следует определять стрингами достаточной длины. На клиенте Вы можете отображать и проверять каждое из них как угодно, но вот закладывать это ограничение на сервер не следует. Хотя бы потому, что у Вас будут проблемы с ведущими нулями, которые будут "съедаться" при операциях сравнения, искажая результат.

Четвертое.
При определении типа дробных характеристик (суммовые, количественные и т.д.) рекомендую указывать дробь с "запасом" даже если это на первый взгляд не требуется. Жизнь показывает, сто в какой-то момент потребуется уточненный учет и Вам придется мерять структуру таблиц, если не бизнес-логику впридачу

Что такое структура приложения в Вашем понимании - не совсем ясно :)


 
Anatoly Podgoretsky ©   (2008-12-03 17:04) [44]

> MsGuns  (03.12.2008 16:44:43)  [43]

> Третье.
> Некоторые "нативные" характеристики (МФО, ИНН, Расчетные счета, Налоговые номера и т.д.), которые якобы числовые, следует определять стрингами достаточной длины.

Поскольку это не числа и операции над ними совсем другие.
Насчет достаточной длины - ее надо умножить на 3 как минимум, а то завтра окажется, что недостаточно
У меня, не в моей базе, все подобные права объявлены как nvarchar(127)


 
clickmaker ©   (2008-12-03 17:13) [45]

> как nvarchar(127)

а почему не 128?


 
Anatoly Podgoretsky ©   (2008-12-03 18:44) [46]

> clickmaker  (03.12.2008 17:13:45)  [45]

Не знаю, может для совместимости с SmallInt
Я не вдавался в подробности, я просто использую базу.


 
Loginov Dmitry ©   (2008-12-03 23:07) [47]

> Пока сдела 2 таблицы.


Для обычных платежек нужны как минимум 3 таблицы: таблица банков, таблица организаций, таблица платежей. У организации должны быть поля: ИНН (10 символов для юр. лиц, 12 символов для ИП), КПП (только для юр. лиц, 9 символов), номер расчетного счета (всегда 20 символов) и наименование (часть многострочное). У банков обязательны БИК (9 символов), номер кор. счета (20 символов), причем последние 3 символа БИК и номера счета банка должны совпадать, и наименование (обычно однострочное). В таблице платежей должны быть сумма платежа, данные об организации (ссылка), данные о банке (ссылка), дата платежа, вид платежа, назначение платежа, и вероятно некоторые дополнительные данные, используемые при оплате налогов. Все сказанное касается формы "0401060", причем при печати самой формы все размеры и шрифты выдерживаются с точностью до миллиметра.


 
Anatoly Podgoretsky ©   (2008-12-04 01:13) [48]

> Loginov Dmitry  (03.12.2008 23:07:47)  [47]

Для обычных платежок никакие таблицы не нужны, достаточно бумаги и карандаша.


 
MsGuns ©   (2008-12-04 01:50) [49]

>Loginov Dmitry ©   (03.12.08 23:07) [47]

Это только для России действительно.

И что понимается под "необычными" платежками ?

>Anatoly Podgoretsky ©   (04.12.08 01:13) [48]
>Для обычных платежок никакие таблицы не нужны, достаточно бумаги и >карандаша.

И такую примут в банке ?


 
Xmen   (2008-12-04 07:27) [50]


> MsGuns ©   (03.12.08 16:44) [43]
> Замечания к (36)Первое.До каких бы то ни было манипуляций
> с сервером (создания таблиц и пр.) надо НАРИСОВАТЬ модель
> базы. Т.е. определить ОБЪЕКТЫ и их СВОЙСТВА (характеристики).
>  Затем нарисовать между ними связи. Уже по рисунку будет
> видно ОБЩЕЕ между объектами, которое затем будет использовано
> при НОРМАЛИЗАЦИИ, т.е. придание характеристкам АТОМАРНОСТИ,
>  а также устранение ИЗБЫТОЧНОСТИ. По этой же схеме будет
> видно, какие характеристики являются ОСНОВНЫМИ, вводимыми
> непосредственно с документов или иных внешних источников,
>  а какие РАСЧЕТНЫМИ или СЛУЖЕБНЫМИ, т.е. вычисляемыми или
> используемыми программно.Второе.Я бы не советовал Вам давать
> имена полям и таблицам используя спецсимволы или длинные
> имена - такая нотация существенно усложнит читабельность
> запросов, да при разработке проекта в Дельфи будут сложности.
>   В качестве префикса (удобная вещь) в именах достаточно
> использовать один символ, если, конечно, Ваша база не будет
> насчитывать многие десятки таблиц.Третье.Некоторые "нативные"
> характеристики (МФО, ИНН, Расчетные счета, Налоговые номера
> и т.д.), которые якобы числовые, следует определять стрингами
> достаточной длины. На клиенте Вы можете отображать и проверять
> каждое из них как угодно, но вот закладывать это ограничение
> на сервер не следует. Хотя бы потому, что у Вас будут проблемы
> с ведущими нулями, которые будут "съедаться" при операциях
> сравнения, искажая результат.Четвертое.При определении типа
> дробных характеристик (суммовые, количественные и т.д.)
> рекомендую указывать дробь с "запасом" даже если это на
> первый взгляд не требуется. Жизнь показывает, сто в какой-
> то момент потребуется уточненный учет и Вам придется мерять
> структуру таблиц, если не бизнес-логику впридачуЧто такое
> структура приложения в Вашем понимании - не совсем ясно
> :)


Ух какая информация

> Loginov Dmitry ©   (03.12.08 23:07) [47]
> > Пока сдела 2 таблицы.Для обычных платежек нужны как минимум
> 3 таблицы: таблица банков, таблица организаций, таблица
> платежей. У организации должны быть поля: ИНН (10 символов
> для юр. лиц, 12 символов для ИП), КПП (только для юр. лиц,
>  9 символов), номер расчетного счета (всегда 20 символов)
> и наименование (часть многострочное). У банков обязательны
> БИК (9 символов), номер кор. счета (20 символов), причем
> последние 3 символа БИК и номера счета банка должны совпадать,
>  и наименование (обычно однострочное). В таблице платежей
> должны быть сумма платежа, данные об организации (ссылка),
>  данные о банке (ссылка), дата платежа, вид платежа, назначение
> платежа, и вероятно некоторые дополнительные данные, используемые
> при оплате налогов. Все сказанное касается формы "0401060",
>  причем при печати самой формы все размеры и шрифты выдерживаются
> с точностью до миллиметра.

Я и это учту.


 
MsGuns ©   (2008-12-04 10:28) [51]

>Я и это учту.

Прежде всего учтите (44)


 
Anatoly Podgoretsky ©   (2008-12-04 11:19) [52]

> MsGuns  (04.12.2008 1:50:49)  [49]

Не берусь говорить за всех, у нас примут, при том нет никакого обязательства использовать какой либо формат.
Необычная, это электронная платежка, задача начинается с Ворда/Экселя и кончается полным автоматом в бухгалтерской программе, когда саму платежку в обычном виде и не видно - вот это и есть необычная платежка. При желании платежку можно распечатать после оплаты из банковской системы, но бухгалтериям это не нужно.


 
Xmen   (2008-12-04 13:05) [53]

Вот я думаю если я сделаю прогу со всеми справочниками то не получетсяли это непростой программой. Вед сначала нежен будет пополнет справочники. И если ктото делал ранше для этих целей прогу для платежки то немоглибы поделится скриншотом.


 
Sergey13 ©   (2008-12-04 13:26) [54]

> [53] Xmen   (04.12.08 13:05)
> Вот я думаю если я сделаю прогу со всеми справочниками то
> не получетсяли это непростой программой.

На нобелевку примеряешься?

> И если ктото делал ранше для этих целей прогу для платежки
> то немоглибы поделится скриншотом.

Может сразу исходники слать? Или может ключ от квартиры, где деньги лежат?


 
Xmen   (2008-12-04 13:59) [55]


> Sergey13 ©   (04.12.08 13:26) [54]
> > [53] Xmen   (04.12.08 13:05)> Вот я думаю если я сделаю
> прогу со всеми справочниками то > не получетсяли это непростой
> программой.На нобелевку примеряешься?> И если ктото делал
> ранше для этих целей прогу для платежки > то немоглибы поделится
> скриншотом.Может сразу исходники слать? Или может ключ от
> квартиры, где деньги лежат?


ну я уже готов был такому ответу и изза этого я только спросил скриншот а не демо :)
Если не вы то ктото другой точно ответил бы так. Не первый раз вижу ответы такого типа.


 
Anatoly Podgoretsky ©   (2008-12-04 15:04) [56]

> Xmen  (04.12.2008 13:59:55)  [55]

Да все они делаются по одному типу

Ярлык поле_ввода

и две кнопки ОК и Cancel


 
MsGuns ©   (2008-12-04 15:09) [57]

>Xmen   (04.12.08 13:05) [53]
>Вот я думаю если я сделаю прогу со всеми справочниками то не получетсяли это непростой >программой. Вед сначала нежен будет пополнет справочники. И если ктото делал ранше для этих >целей прогу для платежки то немоглибы поделится скриншотом.

ОДИН раз написать базовый класс для формы-справочника и формы-карточки, далее проектирование каждого справочника (включая поиски, фильтры, сортировки и т.д.) вместе с редактированием превратится в 5 минутную рутину :)


 
Труп Васи Доброго ©   (2008-12-04 15:25) [58]

> Вот я думаю если я сделаю прогу со всеми справочниками то
> не получетсяли это непростой программой. Вед сначала нежен
> будет пополнет справочники. И если ктото делал ранше для
> этих целей прогу для платежки то немоглибы поделится скриншотом.

лет 5 назад в нашем городишке в ходу была екселевская "программка" для печати платёжек. Все были довольны. Там был полный функционал, какой тебе нужен. Всё на Басике в макросах.
Введи в Яндексе платёжка EXCEL и качай.
З.Ы. Вот даже могу ссылку дать http://freesoft.ru/?id=10384
Скачай, посмотри и пользуйся (или делай по образцу).


 
Xmen   (2008-12-04 15:48) [59]


> Труп Васи Доброго ©   (04.12.08 15:25) [58]
> > Вот я думаю если я сделаю прогу со всеми справочниками
> то > не получетсяли это непростой программой. Вед сначала
> нежен > будет пополнет справочники. И если ктото делал ранше
> для > этих целей прогу для платежки то немоглибы поделится
> скриншотом.лет 5 назад в нашем городишке в ходу была екселевская
> "программка" для печати платёжек. Все были довольны. Там
> был полный функционал, какой тебе нужен. Всё на Басике в
> макросах.Введи в Яндексе платёжка EXCEL и качай.З.Ы. Вот
> даже могу ссылку дать http://freesoft.ru/?id=10384Скачай,
>  посмотри и пользуйся (или делай по образцу).

Спосибо посмотрел. Надеюсь также лучше сделать на Дельфи :)


 
Loginov Dmitry ©   (2008-12-04 21:42) [60]

> И если ктото делал ранше для этих целей прогу для платежки
> то немоглибы поделится скриншотом.

А что, поиск и инете уже не работает? Таких прог в инете на халаву - ВАГОН! Ищи, и будет щастье!


 
Victor   (2009-01-15 07:02) [61]

Можно вернуться опять к текстовым файлам?
У меня такой вопрос. Какой бы вы посоветовали использовать компонент для чтения текстового файла, в котором информация в виде строк, а поля с разделителями (это лог программы)? Файл очень большой (может достигать сотен метров). Желательно чтобы можно было делать к нему SQL запросы. Возможности записи не нужны.

не слишком многого хочу?


 
Anatoly Podgoretsky ©   (2009-01-15 08:59) [62]

> Victor  (15.01.2009 7:02:01)  [61]

Драйвер TextFiles


 
MsGuns ©   (2009-01-15 11:38) [63]

TStrings (TStringList) с простейшем механизмам парсинга "туда" и "обратно"


 
tesseract ©   (2009-01-15 13:05) [64]


> не слишком многого хочу?


вообще то нет, но резко рекомнедую фиксированный размер полей, получиться нечто вроде  DBF,  но читаемое. У Джулиана Бакнела и Дональда Кнута есть куча ответов на твой вопрос.


 
Anatoly Podgoretsky ©   (2009-01-15 14:16) [65]

Это уже типизированый файл, а по нему можно эффективно перемещаться. Если к этому добавить два символа CRLF в конце строки, то получаем два в одном и текстовый файл и типизированый одновременно.
Применение файла с полями фиксированой длины решает множество проблем, включая внешнею поддержку другими средствами.


 
KSergey ©   (2009-01-22 08:14) [66]

> Xmen   (04.12.08 13:05) [53]
> Вот я думаю ....
> поделится скриншотом.

Автор, вы бы уже забили на это дело. Бестолковое оно.
Программ "печати платежек" - вагон с тележкой. Смотрите сами:

http://tinyurl.com/c3xs94

А вот и скриншоты - тоже вагон:

http://tinyurl.com/bol66k



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

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

Наверх




Память: 0.68 MB
Время: 0.024 c
2-1257708059
andrewtitoff
2009-11-08 22:20
2009.12.27
Почему не фильтруется ADOQuery?


2-1257402647
d@nger
2009-11-05 09:30
2009.12.27
Обновление Master-Detail таблицы (Firebird)


11-1209885307
SPeller
2008-05-04 11:15
2009.12.27
KOLTIFF.ImageAsBitmap экспортирует неправильный битмап


1-1229944689
dmitry_12_08_73
2008-12-22 14:18
2009.12.27
Получение ссылки на файл после нажатия в проводнике "Копировать"


15-1256321944
POOP
2009-10-23 22:19
2009.12.27
=> *.eps