 |
Вітаю Вас, Гість · RSS |
 |
| Факультатив з Delphi 7 |
| SLKuty |
Дата: Нд, 21.10.2007, 18:12 | Повідомлення № 1 |
|
Монтажер
Група: Друзі форуму
Повідомлень: 360
| В кого проблеми з освоєнням мови Delphi 7 можете задавати запитання. Шановні форумчани!!!!! Повідомлення, які не відповідають темі або несуть некорисний зміст будуть видалятись без попередження!!!
|
|
| | |
| NataliyG |
Дата: Ср, 01.02.2012, 15:36 | Повідомлення № 76 |
|
Прописаний назавжди
Група: VIP-користувачі
Повідомлень: 398
| Quote (volodschool2) Ну от і прекрасно. Тепер створіть копію процедури, аналогічної до виведення в файл, тільки в ній замініть AssignFile на AssignPrn без вказування другого параметра. Наприклад так: AssignFile(fff,'textfile.txt') на AssignPrn(fff). Тепер те, що виводилось в текстовий файл буде друкуватись на принтері. І не забудьте CloseFile(fff), інакше в принтері паперу не вистачить Так все працюэ але не так як треба: воно мені друкує чисто так, як записує в файл: спочатку кількість лінійок і стовпців а пізніше їх вміст в стовпчик. А я хочу таблицю. В мене є така програма де копіюється робочий стіл, може спочатку копіювати таблицю в формі малюнкна а потім пустити на друк. Але таблиця не завжди влізає на робочий стіл то може шось підкажете, як то краще зробити?
|
|
| | |
| volodschool2 |
Дата: Ср, 01.02.2012, 16:25 | Повідомлення № 77 |
|
Наполегливий учасник
Група: VIP-користувачі
Повідомлень: 747
| Quote (NataliyG) спочатку кількість лінійок і стовпців а пізніше їх вміст в стовпчик Приблизно таке я і передбачав, тоді коли в одному з попередніх своїх повідомлень пропонував Вам навчитися виводити таблицю в файл, причому в файлі таблиця має виглядати як таблиця. Киньте тимчасово на форму кнопку, в ній напишіть процедуру виведення інформації з таблиці в якийсь текстовий файл. Виводити туди к-сть стовпців і рядочків уже буде не потрібно. Особливо зверніть увагу на WriteLn, якщо ця команда працює в циклі, то вона друкує всі елементи таблиці в стовпчик. Використовуйте у внутрішньому циклі Write і після його закінчення один раз має спрацьовувати WriteLn. На паскалі для таблиці 10х20 для виведення в файл fff це було б так: Code for i:=1 to 10 do begin for j:=1 to 20 do write(fff,T[i,j],'|'); writeln(fff,'__________________________'); end; Спробуйте проаналізувати цей код, поекспериментуйте з ним в паскалі. Тепер Ви можете змінити програмний код і в Delphi.Додано (01.02.2012, 15:25) --------------------------------------------- Якщо все це Вам не дуже то і потрібно, киньте мені проект, я його підшліфую і поверну Вам.
Відредаговано: volodschool2 - Ср, 01.02.2012, 16:21 |
|
| | |
| NataliyG |
Дата: Сб, 04.02.2012, 16:53 | Повідомлення № 78 |
|
Прописаний назавжди
Група: VIP-користувачі
Повідомлень: 398
| Quote (volodschool2) Спробуйте проаналізувати цей код, поекспериментуйте з ним в паскалі. Тепер Ви можете змінити програмний код і в Delphi. До мене нарешті дійшло - то є звичайне виведення результатів в таблиці, але проблема от в чому: це є таблиця яку будуть заповнювати постійно новими даними і практично налаштувати щоб виглядало добре не можна: це є програма для психологів тобто психолога будуть її заповнювати різними прізвищами і різними даними, саме тому напевно є в мене потреба фотографувати екран, і тільки тоді кидани його на друк. Можете щось в цьому плані порадити, якщо таблиця не влізає на робочий стіл?
|
|
| | |
| volodschool2 |
Дата: Нд, 05.02.2012, 01:09 | Повідомлення № 79 |
|
Наполегливий учасник
Група: VIP-користувачі
Повідомлень: 747
| Перше, що хотілось би порадити - забудьте про "фотографування". Уявляю цю фотографію, яка містить 80000 рядків! Почитайте про форматне виведення командою Write, це дасть можливість таблицю виводити рівними стовпцями. Наприклад, Write(a:8) надрукує значення змінної а з використанням 8-ми позицій, тобто при значенні а=45 буде надруковано шість пропусків і число 45. Ой, так це ж прописні істини! Переконаний, Ви це знали. Подивіться, як люди гарно уміють друкувати таблицю за допомогою форматного виведення:
Code program Project2; {$APPTYPE CONSOLE} uses SysUtils; var i:byte; begin write(#218); for i:=1 to 26 do if i=12 then write(#194) else write(#196); writeln(#191); writeln(#179,' 123',#179:8,' a','b':11,' ',#179); writeln(#179,#179:12,#179:15); writeln(#179,'123':7,#179:5,'34.43':10,#179:5); writeln(#179,#179:12,#179:15); writeln(#179,' 123':10,#179:2,' c','d':11,' ',#179); writeln(#179,#179:12,#179:15); write(#195); for i:=1 to 26 do if i=12 then write(#197) else if i in[17,22] then write(#194) else write(#196); writeln(#180); write(#179); for i:=1 to 11 do write('*'); writeln(#179,#179:5,#179:5,#179:5); writeln(#179,#179:12,#179:5,#179:5,#179:5); write(#179,#195:12); for i:=1 to 14 do if i in [5,10] then write(#197) else write(#196); writeln(#180); writeln(#179,'**':3,'**':7,#179:2,#179:5,#179:5,#179:5); writeln(#179,#179:12,#179:5,#179:5,#179:5); write(#179,' ':11,#179); for i:=1 to 14 do if i in [5,10] then write(#197) else write(#196); writeln(#180); write(#179); for i:=1 to 11 do write('*'); writeln(#179,#179:5,#179:5,#179:5); writeln(#179,#179:12,#179:5,#179:5,#179:5); write(#192); for i:=1 to 26 do if i in [12,17,22] then write(#193) else write(#196); writeln(#217); readln end. Якщо це не допоможе, подумайте над варіантом з виведенням в Excel.
Відредаговано: volodschool2 - Нд, 05.02.2012, 01:51 |
|
| | |
| kaligula |
Дата: Нд, 05.02.2012, 14:54 | Повідомлення № 80 |
|
Новий користувач
Група: користувачі
Повідомлень: 3
| Добрий день! Дуже хочу навчитися програмувати в Delphi7 але не знаю з чого почати. Зараз навчаюсь в 9-му класі і вивчив всього HTML, CSS, JV. Вчора завантажив багато книг, але в них ну зовсім нічого не зрозуміло(Зразу переходять до складного і не пояснюють синтаксис і т.д.). Може хтось підкаже якийсь підручник?
|
|
| | |
| volodschool2 |
Дата: Нд, 05.02.2012, 15:13 | Повідомлення № 81 |
|
Наполегливий учасник
Група: VIP-користувачі
Повідомлень: 747
| Спробуйте розпочати за підручником Інформатика. 11 клас. Академічний рівень, профільний рівень. Й.Я. Ривкінд, Т.І. Лисенко, Л.А. Чернікова, В.В. Шакотько http://depositfiles.com/ru/files/s65xao87w
|
|
| | |
| kaligula |
Дата: Нд, 05.02.2012, 15:47 | Повідомлення № 82 |
|
Новий користувач
Група: користувачі
Повідомлень: 3
| Дякую, зараз завантажу. А чи треба перед початком вивчення Delphi вивчити Pascal?
|
|
| | |
| volodschool2 |
Дата: Нд, 05.02.2012, 19:51 | Повідомлення № 83 |
|
Наполегливий учасник
Група: VIP-користувачі
Повідомлень: 747
| Quote (kaligula) А чи треба перед початком вивчення Delphi вивчити Pascal? Бажано, але можна і одночасно, адже в основу синтаксису Delphi лежить Pascal. У будь-якому випадку доведеться освоїти алгоритміку.
Відредаговано: volodschool2 - Нд, 05.02.2012, 20:10 |
|
| | |
| SLKuty |
Дата: Пн, 06.02.2012, 00:05 | Повідомлення № 84 |
|
Монтажер
Група: Друзі форуму
Повідомлень: 360
| Quote (kaligula) Може хтось підкаже якийсь підручник? Книжку укр мовою і практичні роботи качай тут http://lidersite.com/%D0%BE%....A%D0%B0 декілька початкових уроків тут http://lidersite.com/%D0%BE%....-%D0%B4 %D0%BB%D1%8F-%D0%B4%D1%96%D1%82%D0%B5%D0%B9/
|
|
| | |
| NataliyG |
Дата: Пт, 10.02.2012, 20:09 | Повідомлення № 85 |
|
Прописаний назавжди
Група: VIP-користувачі
Повідомлень: 398
| Quote (volodschool2) Ой, так це ж прописні істини! Переконаний, Ви це знали. Ви знаєте я її пробувала друкувати різними варіантами проблема в тому, що в програмі психолог буде вводити різні прізвища і імене учнів, наперед прорахувати яке воно буде дуже важко є прізвище Глюз а є Коваленко. Саме тому вирішила що краще малюнок: От справа в тому що воно мені вже малюнком друкує і непогано проблема що я не вмію налаштовувати друк: і воно мені друкує приблизно 1/6 листка А4. А хочеться щоб хоч на половину. В тому відеоуроці що ви мені дали йшлося що в наступному розкажуть як налаштовувати принтер буду вдячна якщо дасте посилання на це продовження, або порадете як налаштовувати друк.
|
|
| | |
| volodschool2 |
Дата: Пт, 10.02.2012, 21:39 | Повідомлення № 86 |
|
Наполегливий учасник
Група: VIP-користувачі
Повідомлень: 747
| Quote (NataliyG) таблиця не завжди влізає на робочий стіл Quote (NataliyG) і воно мені друкує приблизно 1/6 листка А4 NataliyG, я навів цитати з двох Ваших повідомлень, котрі суперечать одна одній. На жаль, я не телепат, не можу здогадатись, що саме Ви хочете отримати і що у Вас не виходить. Спробую навести приклад, в якому зображення друкується (непропорційно розтягнуте) на всю сторінку, сподіваюсь це допоможе: Code procedure TForm1.Button1Click(Sender:TObject); var ImageRect:TRect; begin with Printer, Image1 do begin ImageRect.Top:=0; ImageRect.Left:=0; ImageRect.Right:=PageWidth; ImageRect.Bottom:=PageHeight; BeginDoc; Canvas.StretchDraw(ImageRect,Picture.Bitmap); EndDoc; end; end; В цьому прикладі всю роботу по масштабуванню виконує метод StretchDraw канви, який змінює розміри зображення у відповідності до розмірів прямокутника ImageRect. Для пропорційного масштабування потрібно виконати елементарні перерахунки розмірів сторін прямокутника. Приклад в прикріпленні. А щодо цього Quote (NataliyG) прорахувати яке воно буде дуже важко є прізвище Глюз а є Коваленко , то прорахувати можна. Напишіть так: Write(Name:25) і для друкування всіх значень Name буде використано 25 позицій. Так зазвичай роблять при друкуванні таблиць. Не знаю, якими словами Вас переконати відмовитись від друку малюнків. Рано чи пізно самі зрозумієте хибність цього шляху. Як Ви плануєте запрограмувати друк таблиці довжиною в декілька сторінок?
Відредаговано: volodschool2 - Пт, 10.02.2012, 22:00 |
|
| | |
| TYP |
Дата: Пт, 10.02.2012, 22:13 | Повідомлення № 87 |
|
Тут живе...
Група: VIP-користувачі
Повідомлень: 174
| Ось ТУТ викладав підбірку практичних завдань. І пару проектів.
|
|
| | |
| NataliyG |
Дата: Ср, 11.04.2012, 17:20 | Повідомлення № 88 |
|
Прописаний назавжди
Група: VIP-користувачі
Повідомлень: 398
| Quote (volodschool2) я навів цитати з двох Ваших повідомлень, котрі суперечать одна одній. Так Ваша правда ми дійсно зменшили висоту рядка і тепер все вміщається на одному екрані. Я Вам щиро вдячна, що ви терпите мої запитання (інколи безглузді і даєте на них відповідь). Я цілком згодна, що бавитися з малюнком це не зовсім правильно, але якщо чесно я не люблю такої кропіткої доточної роботи, можливо саме тому це і передається моїм учням. Це взагалі проект мого учня, який ми готуємо на конкурс. А моєму учню вдалося зберегти таблицю в вигляді малюнка от він і не хоче вже відступати від цього шляху, хоча я думаю, що в майбутньому будема переробляти бо друкує воно не дуже. Дуже Вам вдячна!Додано (11.04.2012, 17:20) --------------------------------------------- Привіт усім, ось тут я закинула декілька програм, які ми створюємо на конкурси! Може комусь буде цікаво! http://schooldvirtsi.at.ua/index/quot_bios_quot/0-16 Поне Володимир тут ця програма, яку ви допомагали нам створювати - соціометрія
|
|
| | |
| Пилипчук_О_П |
Дата: Ср, 11.04.2012, 19:44 | Повідомлення № 89 |
|
Досвідчений учасник
Група: Друзі форуму
Повідомлень: 1274
| При запуску проекту "Вінні" на ноутбуці щось незрозуміле робиться з розмірами вікон: головне вікно - на весь екран, а в куточку - власне елементи інтерфейсу. На іншому екрані (вибір смужки, вибір хвостів) малюнки у вікні все-одно не поміщаються і доводиться пересувати смуги прокрутки. Треба ці речі якось передбачати. Наприклад, орієнтуватись на розмір вікна 800х600 або 1024х768, використовувати автомасштабування малюнків та інших елементів тощо.
|
|
| | |
| volodschool2 |
Дата: Ср, 11.04.2012, 21:04 | Повідомлення № 90 |
|
Наполегливий учасник
Група: VIP-користувачі
Повідомлень: 747
| NataliyG, програми надто сирі, зарано їх публікувати. "Соціометрія". Почитав довідку. Краще б не читав, для мене це китайська грамота. Взагалі то я розраховував там побачити інструкцію до використання програми. Ну і синтаксичні помилки не прикрасили цю довідку. Та й напис "Прірзвище" в самій таблиці краще виправити на щось інше. "Про автора" - там достатньо було написати про автора, застережний напис про покарання за розповсюдження програми тут зайвий. Ви ж самі програму розповсюдили, розмістивши її на сайті! Файл/Відкрити - тип файла відсутній. Файл/Зберегти - тип файла DOC, до чого тут вордівський формат? При скасуванні відкривання/зберігання файла видається помилка І/О. Програма не передбачає контролю за коректністю введених даних, дозволяє писати будь-які символи в клітинках, де мають бути тільки числа. Друк - таблиця автоматично зменшила свої габарити і щось там прочитати можна тільки під мікроскопом. ..... "Вінні". Ідея симпатична. Трохи "підрихтувати" і можна буде дати першокласникам хвилин на 5 побавитись. Але хоч я і далеко не першоласник, а в третьому завданні не зразу здогадався, по чому стукати мишею (я чомусь спочатку стукав по картинках, так робив би першокласник, він не зразу здогадається про чекбокси). Роздільна здатність мого монітора співпала із авторською задумкою, тому я б і не побачив "глюки", про які написав Пилипчук_О_П. Поміняв, переконався - глюки з прокруткою є. NataliyG, сподіваюсь на Ваше правильне розуміння критики. Ніяких образ не повинно бути!
|
|
| |
© Форум інформатиків України, 2007-2012. Хостинг від uCoz |