Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

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

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


Донат для форума - использовать для поднятия настроения себе и модераторам

А ещё здесь можно купить рекламу за 15 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru

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

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

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

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

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

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

Цена не рассчитывается потому, что таблица с ценами пустая, там вообще не предусмотрено сохранения записи, непонятно зачем вообще таблица.
Если нажимаете принять сохраняйте запись, то есть на 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 в 21:04.
vovk вне форума   Ответить с цитированием
Старый 26.12.2010, 12:53   #5
Харламов Юрий
 
Регистрация: 24.12.2010
Сообщений: 4
Репутация: 10
По умолчанию

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

хотел сказать по поводу времени, передумал, по теме: желаете кода пожалуйста.
Код:
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, 03:34   #7
Харламов Юрий
 
Регистрация: 24.12.2010
Сообщений: 4
Репутация: 10
По умолчанию

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

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Циклы. Не могу довести до ума man-utd- Помощь студентам 2 21.12.2010 21:05
Помогите довести до ума andresan Assembler 2 27.11.2009 08:46
Помогите довести до ума две процедуры! Mr.User Помощь студентам 9 28.11.2007 11:21


07:59.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.

Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru