Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.12.2010, 22:26   #1
Харламов Юрий
 
Регистрация: 24.12.2010
Сообщений: 4
По умолчанию Довести до ума БД в delphi

в книге не понятный листинг, не могу разобраться с реализацией расчетов и выводом на печать
книга использовалась Понамарев Самоучитель Базы Данных в delphi (практическое начинается на 143 странице)
Вложения
Тип файла: rar kypcoBa9.rar (550.1 Кб, 13 просмотров)
Тип файла: rar baz_dann_delp7.rar (4.95 Мб, 11 просмотров)

Последний раз редактировалось Харламов Юрий; 25.12.2010 в 15:49. Причина: Вложил книгу
Харламов Юрий вне форума Ответить с цитированием
Старый 25.12.2010, 07:35   #2
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Ответить очень трудно, говорите о какойто книге = чтоб ответить придётся найти, скачать и прочитать. Даёте исходник = там используются какието сторонние компоненты. извеняюсь компоненты не сторонние, у меня просто нет раврепорта (и не будет)
Может просто напишите что не получается и приведёте пример кода, в котором возникли проблемы?

Последний раз редактировалось vovk; 25.12.2010 в 18:49.
vovk вне форума Ответить с цитированием
Старый 25.12.2010, 15:49   #3
Харламов Юрий
 
Регистрация: 24.12.2010
Сообщений: 4
По умолчанию

Вложил книгу эту
Харламов Юрий вне форума Ответить с цитированием
Старый 25.12.2010, 19:58   #4
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Цена не рассчитывается потому, что таблица с ценами пустая, там вообще не предусмотрено сохранения записи, непонятно зачем вообще таблица.
Если нажимаете принять сохраняйте запись, то есть на onclose формы добавте сохранение при нажатии кнопки "принять", и отмону изменений при закрытии формы другим способом.
Хотябы так
Код:
procedure TForm2.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if Form2.ModalResult = mrOk then
 Table1.Post else
 Table1.Cancel;
end;
Как рассчитывать цену, это уж вам решать, только это условие
Код:
if z[i]= ''
вам не кажется странным?
вы считаете по словам, поэтому логичнее проверять на пробелы,
Код:
if z[i] = ' '
но тут ещё не всё, обьявление могут писать не 1 строчку, а перейти на следующую строку с помощью Enter, тогда логичнее так
Код:
  if (z[i] = ' ') or (z[i] = #13)
, но текст обьявления может заканчиватся пробелом, или #13 это вроде тоже надо предусмотреть? как вы думаете? тогда меняем цикл и просматриваем не до последнего символа а до предпоследнего
Код:
for i:=1 to length(z)-1 do
вроде нормально..
Упс неа ненормально, а если в конце не 1 пробел, или в конце несколько раз нажали Enter?, и это ещё не всё, также может быть и в середине текста (не 1 пробел или несколько раз нажатый Enter).

В общем всё писать не буду, вы же хотите учится (я ведь правильно понял?), включайте мыслительный процесс. Код не просто набирайте, а думайте что он делает, и то ли это что вы хотите получить.

Подсказка: попробуйте сначала преобразовать текст обьявления (удалить лишние пробелы, удалите символы #13 (или замените пробелами а потом удалите лишние пробелы)), а потом считайте слова. Как это сделать? Голова литература и поиск по форуму вам в руки. Только помните если задача не решается целиком, её надо разбить на несколько более мелких задач, и уже решать как их делать.

Как появятся конкрктные вопросы, по вашему коду, милости просим.


печать проверить не смогу, раврепорта нет и ставить нет желания.

Последний раз редактировалось vovk; 25.12.2010 в 20:04.
vovk вне форума Ответить с цитированием
Старый 26.12.2010, 11:53   #5
Харламов Юрий
 
Регистрация: 24.12.2010
Сообщений: 4
По умолчанию

у меня время поджимает сильно! не успею разобраться с этим((((((
помогите плиз....
Харламов Юрий вне форума Ответить с цитированием
Старый 27.12.2010, 00:33   #6
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

хотел сказать по поводу времени, передумал, по теме: желаете кода пожалуйста.
Код:
z:=DBMemo1.Lines.Text;
 z:=TRIM(StringReplace(z,#13,' ',[rfReplaceAll,rfIgnoreCase]));
 z:=StringReplace(z,#10,'',[rfReplaceAll,rfIgnoreCase]);
 while pos('  ',z)>0 do
 z:=StringReplace(z,'  ',' ',[rfReplaceAll,rfIgnoreCase]);
 z:=z+' ';
 summ:=0;
 for i:=1 to length(z) do
 begin
   if (z[i] = ' ') then summ:=summ+1;
 end;
         if RadioGroup1.ItemIndex=0 then
         DBEdit2.text:=IntToStr(Form2.Table1.FieldByName('FCena').AsInteger*summ);
              if RadioGroup1.ItemIndex=1 then
         DBEdit2.text:=IntToStr(Form2.table1.FieldByName('UCena').AsInteger*summ);
vovk вне форума Ответить с цитированием
Старый 28.12.2010, 02:34   #7
Харламов Юрий
 
Регистрация: 24.12.2010
Сообщений: 4
По умолчанию

большое спасибо!
Харламов Юрий вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Циклы. Не могу довести до ума man-utd- Помощь студентам 2 21.12.2010 20:05
Помогите довести до ума andresan Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 27.11.2009 07:46
Помогите довести до ума две процедуры! Mr.User Помощь студентам 9 28.11.2007 10:21