61 Востаннє редагувалося ProgramBandera (04.05.2019 23:13:39)

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

Як же це краще пояснити. От наприклад Копіюю з поля RichEdit те що програма наразі вивела мені туди

З однієї частини міста до іншої маршрутне таксі, рухаючись зі швидкістю 90 км/год (без зупинок), доїжджає за 15 хв. За скільки хвилин цю саму відстань подолає велосипедист, рухаючись зі швидкістю 15 м/с?
------------
Знайти
t2 - Час 
 
 
 
------------
Дано
t1 - Час  15  хв. - Хвилин
v1 - Швидкість  90  км/год. - Кілометрів за годину
v2 - Швидкість  15  м/с. - Метрів за секунду
s2 - Переміщення  =  s1 - Переміщення
   
   
------------
CI
t1 = t1*60
t1 - Час  =  900  Секунд
v1 = v1*1000/3600
v1 - Швидкість  =  25  Метрів за секунду
v2 - Швидкість  =  15  Метрів за секунду
s2 := s1
------------
Розв'язання
ФIЗИКА — НАУКА ПРО ПРИРОДУ
Визначаємо переміщення.
s1 = v1*t1
Переміщення s1  =  22500  Метра (ів)

Час визначає тривалiсть iснування об’єктiв i послiдовнiсть змiн, якi в них вiдбуваються. Час позначають лiтерою t.
t2 = s2/v2
t2 - Час  =  1500  Секунд

Жирним шрифтом виділені визначення які я виводжу як константи.

const    FIZIKA1 =    'ФIЗИКА — НАУКА ПРО ПРИРОДУ';
const    CHAS =    'Час визначає тривалiсть iснування об’єктiв i послiдовнiсть змiн, якi в них вiдбуваються. Час позначають лiтерою t.';

Ось кусочок кода який виводить визначення часу

        begin
         Definition := EmptyLine;
         RichEdit1.Lines.Add(Definition);
         Definition := CHAS;
         RichEdit1.Lines.Add(Definition);
         RichEdit1.Lines.Add ('t1 = s1/v1');
         t1 := s1/v1;
        end

От я і думав може змінній Definition можна присвоїти цілий файл де записані визначення, а тоді виводити певний рядок цього файлу в якому прописане потрібне визначення. Рядки ж в текстовому файлі нумеруються від нуля. Щоб не добавляти константу CHAS в поле RichEdit прописувати одну змінну Definition з номером рядка який  мені потрібно для часу. Буде потрібно для швидкості знову прописати змінну Definition в коді з номером визначення швидкості і так далі.

62

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

Тоді створіть масив, на початку роботи програми (наприклад, при створенні основної форми) читайте його з файлу, а далі просто беріть із масиву.

Подякували: ProgramBandera, root2

63

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

ProgramBandera
Рано чи пізно ви усе одно заплутаєтеся у тих номерах. Тому краще зразу мати константи зі зрозумілими іменами. Морочитися з файлами є сенс лише якщо програма повинна розмовляти кількома мовами.

Подякували: ProgramBandera1

64

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

Усім добрий вечір!
Підкажіть будь-ласка як перевірити поле Edit чи в ньому є щось написане.
Пробував написати #0 але нічого не вийшло

if (ComboBox9.ItemIndex > -1)and(Edit1.Text <> #0) then
 begin
  WriteDano;
  Converter_in_CI;
  ToCalculate;
  Answer;
 end;

65 Востаннє редагувалося koala (05.05.2019 22:17:59)

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

Будь ласка, замість "нічого не вийшло" пишіть конкретно - якщо помилка компіляції, то яка, якщо скопмілювалося - що саме не відповідає вашим потребам. Бо з оцим "нічого не вийшло" можна дуже довго гратися, поки не з'ясується, що ви не той Edit перевіряли.
Ну і порівнюйте з ''.

Подякували: leofun01, root, ProgramBandera3

66

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

koala написав:

Будь ласка, замість "нічого не вийшло" пишіть конкретно - якщо помилка компіляції, то яка, якщо скопмілювалося - що саме не відповідає вашим потребам. Бо з оцим "нічого не вийшло" можна дуже довго гратися, поки не з'ясується, що ви не той Edit перевіряли.
Ну і порівнюйте з ''.

Уточнюю запитання

if (ComboBox9.ItemIndex > -1)and(Edit1.Text <> #0) then
 begin
  WriteDano;
  Converter_in_CI;
  ToCalculate;
  Answer;
 end;

Якщо

(ComboBox9.ItemIndex > -1)

в комбобокс 9 вибраний якийсь ітем і в Edit1 хоч щось написано, будь-який символ то виконувати всі процедури які прописані в операторних дужках. Якщо ні то вивести користувачу повідомлення що він не написав цифри чи знак = в цьому полі. Як мені програмно взнати що в полі Edit1 користувач забув вписати  цифри чи знак =.?????

67

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

Питання знято! Знайшов як перевірити Edit1

if (ComboBox9.ItemIndex > -1)and(Edit1.Text <> '') then
 begin
  WriteDano;
  Converter_in_CI;
  ToCalculate;
  Answer
 end
 else
 begin
  Beep;
  ShowMessage ('Перевірте чи заповнені всі поля!');
 end;

Треба було поміняти #0 на '' і все.

Подякували: Torbins1

68 Востаннє редагувалося ProgramBandera (06.05.2019 14:24:15)

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

Підскажіть чому при збереженні тексту в файл, файл зберігається без розширення *txt.
В властивостях в фільтрі прописав *txt.   Properties/Filter Editor
https://replace.org.ua/uploads/images/6671/a5a3a1ff50ad1020cc300685fa9d9612.png

Ось код виклигу SaveDialog1

procedure TForm1.BitBtn3Click(Sender: TObject);
begin
 if SaveDialog1.Execute then
 RichEdit1.Lines.SaveToFile(SaveDialog1.FileName);
 SaveDialog1.FreeOnRelease;
end;

69

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

Фільтр не задає закінчення файлу однозначно, його треба додавати вручну (або користувач, або програміст).

Подякували: root, leofun01, ProgramBandera3

70

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

koala написав:

Фільтр не задає закінчення файлу однозначно, його треба додавати вручну (або користувач, або програміст).

А де в коді і як саме це прописати?

71 Востаннє редагувалося topprogrammer (06.05.2019 14:29:36)

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

Спробуйте задати розширення за змовчуванням

SaveDialog1.DefaultExt := 'txt';
Подякували: koala, ProgramBandera, leofun013

72

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

ProgramBandera написав:
koala написав:

Фільтр не задає закінчення файлу однозначно, його треба додавати вручну (або користувач, або програміст).

А де в коді і як саме це прописати?

procedure TForm1.BitBtn3Click(Sender: TObject);
begin
 if SaveDialog1.Execute then
 RichEdit1.Lines.SaveToFile(SaveDialog1.FileName + '.txt');
 SaveDialog1.FreeOnRelease;
end;
Подякували: ProgramBandera, koala2

73

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

Усім привіт! Підкажіть будь-ласка як змінити колір тексту?
Наприклад мені в поде додає текст

RichEdit1.Lines.Add ('l=2πR');

l=2πR додається стандартним чорним кольором, а як змінити щоб ця формула в текст додавалася червоним кольором?
А потім знову додавався рядок вже стандартним чорним.

74 Востаннє редагувалося koala (13.05.2019 17:35:22)

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

[code=Pascal]RichEdit1.SelAttributes.Color := clRed;
RichEdit1.Add('Червоний текст');
RichEdit1.SelAttributes.Color := clBlack;[/code]
Якщо треба частину рядка, то

RichEdit1.SelText := 'Червоний текст';

замість .Add.

Подякували: ProgramBandera, leofun012

75

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

А можливо його ще жирним зробити?

76

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

RichEdit1.DefAttributes.Style := [fsBold, fsItalic]; {напівжирний, курсив}
Подякували: ProgramBandera1

77

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

Ви так і не хочете викласти код на GitHub?

Подякували: leofun01, ProgramBandera2

78

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

На його місці мені було би соромно таке кидати на GitHub. Але хоча би Git необхідно використовувати.

Подякували: ProgramBandera1

79

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

я б бітбукет використовував, бо там приватні репозиторії є. Так мона зберігати код, і знати, що він десь там є, і якщо щось на пк поламається, то код буде збереженим

Подякували: ProgramBandera1

80

Re: Програма розв'язування задач з фізики! Для учнів 7-го класу.

leofun01 написав:

На його місці мені було би соромно таке кидати на GitHub. Але хоча би Git необхідно використовувати.

Зате можна буде значно зручніше йому допомагати.

Подякували: leofun01, ProgramBandera, ReAl3