Текущий архив: 2011.01.16;
Скачать: CL | DM;
Вниз
вопрос по сохранению данных Найти похожие ветки
← →
Юрий Зотов © (2010-10-24 12:11) [40]> aha (24.10.10 11:01) [20]
> програма должна работать на дурака , который может забыть создать
> файл для записи
НЕ СМОЖЕТ!!! ДАЖЕ ДУРАК НЕ СМОЖЕТ!!! ФИЗИЧЕСКИ НЕ СМОЖЕТ!!! В ТОМ-ТО ВСЕ И ДЕЛО!!!
Вы [19] читали? Программа СНАЧАЛА спрашивает у юзера, в какой файл писать данные, и только ПОТОМ начинает их запись. Если юзер не указал файл, запись просто не запускается.
Блин! Что может быть проще?
procedure TForm1.StartButtonClick(Sender: TObject);
begin
if OpenDialog1.Execute then
try
... // Проверить доступность файла для записи
except
... // Выдать сообщение об ошибке
Exit;
end;
StartButton.Enabled := False;
... // Запустить поток записи данных
end;
> aha (24.10.10 11:08) [24]
> так примерно и ворд работает
И что происходит с вордом при отключении питания? Вы разве ЭТОГО хотите?
← →
aha (2010-10-24 12:19) [41]ранее я тоже был такого мнения , что в начале нужно запрашивать куда записывать, создавать файл, запускать процесс, завершить , и не думать уже о сохранении, закрытии файла - все записано .
А теперь мне кажется , что по логике для юзера ,нужно делать так
запускаю процесс , наблюдаю, завершаю, а после уже программа предлагает сохранить данные, сохраняю данные ..
← →
Юрий Зотов © (2010-10-24 12:21) [42]Ошибочка вкралась...
procedure TForm1.StartButtonClick(Sender: TObject);
begin
if not OpenDialog1.Execute then
Exit; // И никакой дурак не сможет забыть указать файл
try
... // Проверить доступность файла для записи
except
ShowMessage("Файл недоступен для записи. Укажите другой файл.");
Exit
end;
StartButton.Enabled := False;
try
... // Запустить поток записи данных
except
on E: Exception do
ShowMessage("Ошибка при запуске сбора данных: " + E.Message);
StartButton.Enabled := True
end
end;
← →
Юрий Зотов © (2010-10-24 12:23) [43]Все. Караул устал. Переливание из пустого в порожнее надоело.
Программа Ваша - делайте, как хотите. До свидания.
← →
aha (2010-10-24 12:24) [44]прощу прощения , у кого отнял драгоценное время ..
← →
Юрий Зотов © (2010-10-24 12:28) [45]Непонятно.
1. Человек спросил совета - как сделать лучше.
2. Такой совет он получил, причем один и тот же от нескольких человек, причем далеко не новичков.
3. Советы - пофиг. Человек упорно талдычит свое.
4. Ему объясняют, почему это плохо и как сделать лучше.
5. Снова пофиг. Человек снова талдычит свое.
На фига тогда советы спрашивать?
Непонятно.
← →
aha (2010-10-24 12:42) [46]не обижайтесь , я советовался с Вами . Я нисколько не профессионал в программировании. Просто, когда просят что то написать , я всегда стараюсь убедить пользователей, так же как и вы пытаетесь, а если у них железный аргумент ( фирм. программа такова ), остается только делать так как они просят.
← →
sniknik © (2010-10-24 12:47) [47]> На фига тогда советы спрашивать?
действительно. словам/"опыту" не верит, верит только "авторитетным фирменным программам".
кстати раз уж такое доверие, и даже примеры на ворд... то его же в пример, не документ, который юзером правится,
а событийное (что ближе к ответам устройства), типа записи действий в макрос..., посмотри как там делается, и когда этому макросу имя назначается.
← →
Плохиш © (2010-10-24 12:52) [48]
> aha (24.10.10 11:16) [27]
>
> понимаете, заказчик диктует требования..., я может хочу
> по другому.
Заказчик прав.
← →
Плохиш © (2010-10-24 12:57) [49]
> Просто, когда просят что то написать , я всегда стараюсь
> убедить пользователей
Я бы от такого горекодера ущёл срату же, так как он почему-то считает себя компетентнее любых специалистов.
← →
Юрий Зотов © (2010-10-24 13:05) [50]
> Плохиш © (24.10.10 12:57) [49]
Топик к предметной области не относится. Он относится к юзабилити, а в ЭТОМ вопросе программист не менее компетентен, чем заказчик. Скорее даже более. Это горе-заказчик, а не горе-кодер.
← →
aha (2010-10-24 13:09) [51]давайте закроем ветку, если уже переходим на оскорбления. никому не обращался как к горекодерам. Вы знаете, задачу можно решить разными путями, и часто плюешься при работе с фирменными программами , что можно было по другому сделать. А свой вариант , я попробовал кстати, есть плюсы - время покажет,что скажет пользователь...
← →
sniknik © (2010-10-24 13:20) [52]> так как он почему-то считает себя компетентнее любых специалистов.
о, если бы заказчики были специалистами... но насколько сталкиваюсь, это начальники, менеджеры и ламеры твердо знающие только одно - "клиент всегда прав".
они могут заказать тебе "взломать винду", и сколько не доказывай, что это не дело прикладной программы по работе с документами (+ противозаконно/невозможно)... нифига не поймут, но с "умным видом" будут говорить "мы так хотим, а значит, раз мы клиенты значит делайте".
p.s. со взломом реальный случай, в проге подключение к mssql либо по его встроенной авторизации (у них не включено, и включать не хотели, не знали как скорее всего), либо по виндовой (- "ну мы включили, а говорит отказано в доступе", - "ну так нужно в винде этот доступ дать, ведь прога только использует его, а не устанавливает (установка с клиента из под бесправного юзера на сервере это взлом)", -"вот еще, мы же программой работаем а не виндой, и мы включили, значит должно работать"... бодяга длилась 2 месяца, кончилась с увольнением (просто совпало) админа на той стороне, нового устроило все как есть).
← →
sniknik © (2010-10-24 13:57) [53]> а в ЭТОМ вопросе программист не менее компетентен, чем заказчик.
когда занимаешься каким то вопросом, часто становишься на время более компетентным чем специалисты (в той части которой занимаешся)... т.к. они только используют, а тебе нужно разобраться как запрограммировать процесс. ты в тот момент знаешь его основу, механизм, и возможные варианты, а специалисты только конечный вариант. но советуют(пытаются) именно как сделать.
например при обсуждении структуры базы, они, знакомые только с документами, и мыслят в их категориях, считают что храниться должно именно так. (не раз сталкивался) и настаивают на этом (потому, что в старой проге лазили прямо в базу править, и уставали искать..., в новой типа "должно быть правильно" и искать не нужно будет, зашли в базу и увидели документ as is), но вот попробуй только сделать как они хотят, и все рухнет (поиск, связи, индексы, нормализация)... думаю не нужно объяснять почему. объяснения что данные это основа, а документ строится после, не воспринимают (база и как оно там устроено им не интересно), а вот ты когда делаешь знаешь и то и то.
тут кстати тот же вариант, какая разница заказчику как будет сделано/процесс? ему скорее всего нужен "конечный пункт" возможность сохранить куда то в свой файл (пункт меню save as ...), а заказ (по словам автора вопроса) именно на то как сделать... и поэтому по своим представлениям навязывают изменение пункта "new"/и процесса записи, куда писать.
а новый документ это именно новый, и название у него (в паскале noname.pas/в дельфи project1.dpr) есть сразу, и файл постоянный, и ворда тоже есть такое название без ввода, просто он его удаляет если не выбрали другое при сохранении. т.е. все примерно тоже самое, но "специалисты" видя только конечный результат, не зная процесса придумывают его.
← →
aha (2010-10-24 14:08) [54]разница в том, что подход разный у программиста и у пользователя.
Программисту логично, что нужно создать сначала файл, записывать туда. А пользователю это не нужно знать , он запускает программу , что то делает, и завершает с сохранением данных. Это не его задача типа открытия файла. Потому что пользователи бывают р а з н ы е , есть продвинутые , есть так себе , я их не называю горе пользователи ....
Страницы: 1 2 вся ветка
Текущий архив: 2011.01.16;
Скачать: CL | DM;
Память: 0.58 MB
Время: 0.009 c