Вт, 22.05.2012, 03:18
Форум інформатиків України
Головна Реєстрація Вхід
Вітаю Вас, Гість · RSS
Вітання на форумі
Незнайомець
Вітаємо на форумі,
Незнайомцю!

   
зареєструйтесь
Перед реєстрацією обов’язково прочитайте:
Оновлення Учасники Пошук
Видавництво ’’Аспект’’ Видавництво
Сторінка 6 з 7«124567»
Модератор форуму: Bandalak, Ktara, НІКОЛЯ 
Форум інформатиків » РОЗДІЛ VIІІ: ОБМІН ДОСВІДОМ (УРОКИ, ФАКУЛЬТАТИВИ, ПОЗАКЛАСНА РОБОТА) » 8.6 Факультатив з програмування » Факультатив з Delphi 7 (Створення програм засобами візуального програмування)
Факультатив з Delphi 7
SLKuty Дата: Нд, 21.10.2007, 18:12 | Повідомлення № 1
Монтажер
Група: Друзі форуму
Повідомлень: 360
Нагороди: 1
В кого проблеми з освоєнням мови Delphi 7 можете задавати запитання.

Шановні форумчани!!!!!
Повідомлення, які не відповідають темі або несуть некорисний зміст будуть видалятись без попередження!!!

NataliyG Дата: Ср, 01.02.2012, 15:36 | Повідомлення № 76
Прописаний назавжди
Група: VIP-користувачі
Повідомлень: 398
Нагороди: 2
Quote (volodschool2)
Ну от і прекрасно. Тепер створіть копію процедури, аналогічної до виведення в файл, тільки в ній замініть AssignFile на AssignPrn без вказування другого параметра. Наприклад так: AssignFile(fff,'textfile.txt') на AssignPrn(fff). Тепер те, що виводилось в текстовий файл буде друкуватись на принтері. І не забудьте CloseFile(fff), інакше в принтері паперу не вистачить

Так все працюэ але не так як треба: воно мені друкує чисто так, як записує в файл: спочатку кількість лінійок і стовпців а пізніше їх вміст в стовпчик. А я хочу таблицю.
В мене є така програма де копіюється робочий стіл, може спочатку копіювати таблицю в формі малюнкна а потім пустити на друк. Але таблиця не завжди влізає на робочий стіл то може шось підкажете, як то краще зробити?
volodschool2 Дата: Ср, 01.02.2012, 16:25 | Повідомлення № 77
Наполегливий учасник
Група: VIP-користувачі
Повідомлень: 747
Нагороди: 6
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
Нагороди: 2
Quote (volodschool2)
Спробуйте проаналізувати цей код, поекспериментуйте з ним в паскалі. Тепер Ви можете змінити програмний код і в Delphi.

До мене нарешті дійшло - то є звичайне виведення результатів в таблиці, але проблема от в чому: це є таблиця яку будуть заповнювати постійно новими даними і практично налаштувати щоб виглядало добре не можна: це є програма для психологів тобто психолога будуть її заповнювати різними прізвищами і різними даними, саме тому напевно є в мене потреба фотографувати екран, і тільки тоді кидани його на друк. Можете щось в цьому плані порадити, якщо таблиця не влізає на робочий стіл?
volodschool2 Дата: Нд, 05.02.2012, 01:09 | Повідомлення № 79
Наполегливий учасник
Група: VIP-користувачі
Повідомлень: 747
Нагороди: 6
Перше, що хотілось би порадити - забудьте про "фотографування". Уявляю цю фотографію, яка містить 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
Нагороди: 0
Добрий день! Дуже хочу навчитися програмувати в Delphi7 але не знаю з чого почати. Зараз навчаюсь в 9-му класі і вивчив всього HTML, CSS, JV. Вчора завантажив багато книг, але в них ну зовсім нічого не зрозуміло(Зразу переходять до складного і не пояснюють синтаксис і т.д.). Може хтось підкаже якийсь підручник?
volodschool2 Дата: Нд, 05.02.2012, 15:13 | Повідомлення № 81
Наполегливий учасник
Група: VIP-користувачі
Повідомлень: 747
Нагороди: 6
Спробуйте розпочати за підручником Інформатика. 11 клас. Академічний рівень, профільний рівень. Й.Я. Ривкінд, Т.І. Лисенко, Л.А. Чернікова, В.В. Шакотько http://depositfiles.com/ru/files/s65xao87w
kaligula Дата: Нд, 05.02.2012, 15:47 | Повідомлення № 82
Новий користувач
Група: користувачі
Повідомлень: 3
Нагороди: 0
Quote (volodschool2)
Спробуйте розпочати за підручником Інформатика. 11 клас. Академічний рівень, профільний рівень. Й.Я. Ривкінд, Т.І. Лисенко, Л.А. Чернікова, В.В. Шакотько http://depositfiles.com/ru/files/s65xao87w

Дякую, зараз завантажу. А чи треба перед початком вивчення Delphi вивчити Pascal?
volodschool2 Дата: Нд, 05.02.2012, 19:51 | Повідомлення № 83
Наполегливий учасник
Група: VIP-користувачі
Повідомлень: 747
Нагороди: 6
Quote (kaligula)
А чи треба перед початком вивчення Delphi вивчити Pascal?

Бажано, але можна і одночасно, адже в основу синтаксису Delphi лежить Pascal. У будь-якому випадку доведеться освоїти алгоритміку.

Відредаговано: volodschool2 - Нд, 05.02.2012, 20:10
SLKuty Дата: Пн, 06.02.2012, 00:05 | Повідомлення № 84
Монтажер
Група: Друзі форуму
Повідомлень: 360
Нагороди: 1
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
Нагороди: 2
Quote (volodschool2)
Ой, так це ж прописні істини! Переконаний, Ви це знали.

Ви знаєте я її пробувала друкувати різними варіантами проблема в тому, що в програмі психолог буде вводити різні прізвища і імене учнів, наперед прорахувати яке воно буде дуже важко є прізвище Глюз а є Коваленко.
Саме тому вирішила що краще малюнок:
От справа в тому що воно мені вже малюнком друкує і непогано проблема що я не вмію налаштовувати друк: і воно мені друкує приблизно 1/6 листка А4. А хочеться щоб хоч на половину. В тому відеоуроці що ви мені дали йшлося що в наступному розкажуть як налаштовувати принтер буду вдячна якщо дасте посилання на це продовження, або порадете як налаштовувати друк.
volodschool2 Дата: Пт, 10.02.2012, 21:39 | Повідомлення № 86
Наполегливий учасник
Група: VIP-користувачі
Повідомлень: 747
Нагороди: 6
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 позицій. Так зазвичай роблять при друкуванні таблиць. Не знаю, якими словами Вас переконати відмовитись від друку малюнків. Рано чи пізно самі зрозумієте хибність цього шляху. Як Ви плануєте запрограмувати друк таблиці довжиною в декілька сторінок?
Прикріплення: Jpeg.rar(23Kb)


Відредаговано: volodschool2 - Пт, 10.02.2012, 22:00
TYP Дата: Пт, 10.02.2012, 22:13 | Повідомлення № 87
Тут живе...
Група: VIP-користувачі
Повідомлень: 174
Нагороди: 0
Ось ТУТ викладав підбірку практичних завдань. І пару проектів.
NataliyG Дата: Ср, 11.04.2012, 17:20 | Повідомлення № 88
Прописаний назавжди
Група: VIP-користувачі
Повідомлень: 398
Нагороди: 2
Quote (volodschool2)
я навів цитати з двох Ваших повідомлень, котрі суперечать одна одній.

Так Ваша правда ми дійсно зменшили висоту рядка і тепер все вміщається на одному екрані.
Я Вам щиро вдячна, що ви терпите мої запитання (інколи безглузді і даєте на них відповідь).
Я цілком згодна, що бавитися з малюнком це не зовсім правильно, але якщо чесно я не люблю такої кропіткої доточної роботи, можливо саме тому це і передається моїм учням.
Це взагалі проект мого учня, який ми готуємо на конкурс. А моєму учню вдалося зберегти таблицю в вигляді малюнка от він і не хоче вже відступати від цього шляху, хоча я думаю, що в майбутньому будема переробляти бо друкує воно не дуже.
Дуже Вам вдячна!

Додано (11.04.2012, 17:20)
---------------------------------------------
Привіт усім, ось тут я закинула декілька програм, які ми створюємо на конкурси! Може комусь буде цікаво!
http://schooldvirtsi.at.ua/index/quot_bios_quot/0-16
Поне Володимир тут ця програма, яку ви допомагали нам створювати - соціометрія

Пилипчук_О_П Дата: Ср, 11.04.2012, 19:44 | Повідомлення № 89
Досвідчений учасник
Група: Друзі форуму
Повідомлень: 1274
Нагороди: 5
При запуску проекту "Вінні" на ноутбуці щось незрозуміле робиться з розмірами вікон: головне вікно - на весь екран, а в куточку - власне елементи інтерфейсу. На іншому екрані (вибір смужки, вибір хвостів) малюнки у вікні все-одно не поміщаються і доводиться пересувати смуги прокрутки. Треба ці речі якось передбачати. Наприклад, орієнтуватись на розмір вікна 800х600 або 1024х768, використовувати автомасштабування малюнків та інших елементів тощо.
volodschool2 Дата: Ср, 11.04.2012, 21:04 | Повідомлення № 90
Наполегливий учасник
Група: VIP-користувачі
Повідомлень: 747
Нагороди: 6
NataliyG, програми надто сирі, зарано їх публікувати.
"Соціометрія". Почитав довідку. Краще б не читав, для мене це китайська грамота. Взагалі то я розраховував там побачити інструкцію до використання програми. Ну і синтаксичні помилки не прикрасили цю довідку. Та й напис "Прірзвище" в самій таблиці краще виправити на щось інше.
"Про автора" - там достатньо було написати про автора, застережний напис про покарання за розповсюдження програми тут зайвий. Ви ж самі програму розповсюдили, розмістивши її на сайті!
Файл/Відкрити - тип файла відсутній. Файл/Зберегти - тип файла DOC, до чого тут вордівський формат? При скасуванні відкривання/зберігання файла видається помилка І/О.
Програма не передбачає контролю за коректністю введених даних, дозволяє писати будь-які символи в клітинках, де мають бути тільки числа.
Друк - таблиця автоматично зменшила свої габарити і щось там прочитати можна тільки під мікроскопом.
.....
"Вінні". Ідея симпатична. Трохи "підрихтувати" і можна буде дати першокласникам хвилин на 5 побавитись. Але хоч я і далеко не першоласник, а в третьому завданні не зразу здогадався, по чому стукати мишею (я чомусь спочатку стукав по картинках, так робив би першокласник, він не зразу здогадається про чекбокси).
Роздільна здатність мого монітора співпала із авторською задумкою, тому я б і не побачив "глюки", про які написав Пилипчук_О_П. Поміняв, переконався - глюки з прокруткою є.
NataliyG, сподіваюсь на Ваше правильне розуміння критики. Ніяких образ не повинно бути!
Форум інформатиків » РОЗДІЛ VIІІ: ОБМІН ДОСВІДОМ (УРОКИ, ФАКУЛЬТАТИВИ, ПОЗАКЛАСНА РОБОТА) » 8.6 Факультатив з програмування » Факультатив з Delphi 7 (Створення програм засобами візуального програмування)
Сторінка 6 з 7«124567»
Пошук:


© Форум інформатиків України, 2007-2012. Хостинг від uCoz