Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
1 / 1 / 3
Регистрация: 08.09.2009
Сообщений: 103

Подскажите......

10.09.2009, 05:24. Показов 1589. Ответов 18
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста!!

Мне надо сделать прогу в С++ bulder(и можно ли вообще так сделать), чтобы при запуске EXE файла она сама брала данные из файла, считала и потом сохраняла данные в файл, а потом автоматически закрывалась.. У меня есть прога, но при запуске открывается окно и чтобы она всё сделала надо нажимать на кнопки на загрузку данных, расчет, сохранение и соответственно закрыть.
Заранее благодарю!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
10.09.2009, 05:24
Ответы с готовыми решениями:

Подскажите
Есть ли примерно такая функция и как ей пользоватся прыгать по закладкам ну и чтобы внутренность менялась. Закладок постоянно разное...

Подскажите по C++
Вот создал я какую нибудь программу в Borland C++ Builder 6, а как сделать чтоб она стала общедоступной?Т.е. чтоб ее смогли открыть все,у...

Подскажите по WinSock
Долго рыл инфу по сокетам, и всё таки решился через них сделать приложение. В связи с этим возникло множество вопросов. Во-первых: ...

18
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
10.09.2009, 08:54
переделай под консоль свою прогу и ничего нажимать не надо будет
0
 Аватар для Monte-Cristo
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
10.09.2009, 09:32
Или создай просто чистое WinAPI приложение.. без формы... и описывай все действия в функции WinMain()
0
1090 / 588 / 121
Регистрация: 11.11.2008
Сообщений: 1,544
10.09.2009, 10:11
если у тебя уже есть такая GUI-прога и алгоритм действий вполне внятен, то AutoIt поможет тебе
0
 Аватар для Otaka
1857 / 714 / 55
Регистрация: 11.12.2008
Сообщений: 1,019
10.09.2009, 13:43
Если программа уже есть, то всего-то нужно:
Создать обработчик OnCreate.
В новосозданном обработчике прописать
C++
1
2
3
 Button1Click(NULL);//Обработчик кнопки загрузки 
Button2Click(NULL);//Обработчик кнопки расчета ... 
Close(); //Выходим



Мы типа нажимаем на кнопки загрузки, расчета, сохранения.
0
1 / 1 / 3
Регистрация: 08.09.2009
Сообщений: 103
10.09.2009, 17:46  [ТС]
Otaka,
Спасибо большое!! Я попробую в понедельник на работе)))
0
1 / 1 / 3
Регистрация: 08.09.2009
Сообщений: 103
15.09.2009, 08:26  [ТС]
Уважаемые программисты!
У меня вот такая проблема. У меня есть прога, в ней несколько Эдитов и кнопки Загрузить с файла, расчитать, сохранить в файл и закрыть. Все работает, но мне надо сделать так, чтобы при запуске exe-файла не появлялась форма(хотя в принципе она должна быть) и всё делалось автоматически. Вот.
Помогите пожалуйста. Заранее спасибо!
0
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
15.09.2009, 08:58
Странно, а как ты будешь на кнопки нажимать, если формы не будет
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
15.09.2009, 09:09
kiruhka, самый простой способ - это спрятать форму
C++
1
2
3
4
void __fastcall TMainForm::FormPaint(TObject *Sender)
{
   Hide();
}
и вызвать тут же обработчика клика на кнопку - переделок минимум, но все выполняется без формы и кликов на кнопки... или же переделай в консольку проект, в принципе тоже несильно долгое и утомительное занятие... а еще тут уже была такая тема
0
1 / 1 / 3
Регистрация: 08.09.2009
Сообщений: 103
15.09.2009, 09:19  [ТС]
Я уже думала про консоль, но я вообще не знаю консольки, там я как поняла вообще другой синтаксис.
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
15.09.2009, 09:21
kiruhka, с чего вы это взяли? выложите свой проект, посмотрим, что можно сделать
0
1 / 1 / 3
Регистрация: 08.09.2009
Сообщений: 103
15.09.2009, 09:40  [ТС]
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
//---------------------------------------------------------------------------
#include <math.h>
#include <vcl.h>
#include <stdlib.h>
#include <cstring.h>
#include <stdio.h>
#pragma hdrstop
 
#include "TRMain.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TTRASSA *TRASSA;
//---------------------------------------------------------------------------
__fastcall TTRASSA::TTRASSA(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------
 
void __fastcall TTRASSA::Button1Click(TObject *Sender)
{
  double pi = 3.141592654;
  int Rz = 6370;
  double ta1,ta3,fi1,fi3;
 
    double cosa3,msina3,a3,d;
 
    double coseps,sineps,eps,tan,eps1;
 
 
  double costa2,msinta2,ta2,sh2;
    double cosdelfi,sindelfi,delfi,fi2,dol2;
 
    double ut,lt,lt1;
 
  double sh1 = StrToFloat(Edit1->Text);
  double sh3 = StrToFloat(Edit3->Text);
  double dol1 = StrToFloat(Edit2->Text);
  double dol3 = StrToFloat(Edit4->Text);
 
  ta1 = pi/2-DegToRad(sh1);
  ta3 = pi/2-DegToRad(sh3);
  if (dol1>=0) fi1 = DegToRad(dol1);
      else fi1 = 2*pi+DegToRad(dol1);
  if (dol3>=0) fi3 = DegToRad(dol3);
     else fi3 = 2*pi+DegToRad(dol3);
 
  //Äàëüíîñòü òðàññû
  cosa3 = cos(ta1)*cos(ta3)+sin(ta1)*sin(ta3)*cos(fi3-fi1);
  msina3 = sqrt(1-cosa3*cosa3);
 
   if(msina3>0.000001)  a3 = pi/2-atan(cosa3/msina3);
   else if(msina3<0.000001 && cosa3>0) a3 = 0.000001;
        else a3 = pi-0.000001;
 
  d =Rz*a3;
  Edit6->Text = d;
 
  //Àçèìóò òðàññû
  coseps = (cos(ta3)-cos(ta1)*cos(a3))/(sin(ta1)*sin(a3));
  sineps = sin(ta1)*sin(fi3-fi1)/sin(a3);
 
  if(sineps>0) eps1 = pi/2-atan(coseps/sineps);
  else if(sineps<0) eps1 = 3*pi/2-atan(coseps/sineps);
       else if(abs(sineps)<0.000001 && coseps>0) eps1 = 0;
            else eps1 = pi;
  eps = RadToDeg(eps1);
  Edit7->Text = eps;
 
  //Êîîðäèíàòû ñðåäíåé òî÷êè
    //Øèðîòà
      costa2 = cos(ta1)*cos(a3/2)+sin(ta1)*sin(a3/2)*cos(eps1);
      msinta2 = sqrt(1-costa2*costa2);
 
      if(msinta2>0.000001) ta2 = pi/2-atan(costa2/msinta2);
      else if(msinta2<0.000001 && costa2>0) ta2 = 0;
           else ta2 = pi;
 
      sh2 = RadToDeg(pi/2-ta2);
      Edit9->Text = sh2;
 
    //Äîëãîòà
      cosdelfi = (cos(a3/2)-cos(ta1)*cos(ta2))/(sin(ta1)*sin(ta2));
      sindelfi = sin(a3/2)*sin(eps1)/sin(ta2);
 
      if(sindelfi>0) delfi = pi/2-atan(cosdelfi/sindelfi);
      else if(sindelfi<0) delfi = 3*pi/2-atan(cosdelfi/sindelfi);
           else if(abs(sindelfi)<0.000001 && cosdelfi>0) delfi = 0;
                else delfi = pi;
 
      fi2 = fi1+delfi;
      if(fi2<=0) dol2 = RadToDeg(fi2);
      else dol2 = RadToDeg(fi2-2*pi);
      Edit8->Text = dol2;
 
  //Ïåðåâîä UT â LT
   ut = StrToFloat(Edit5->Text);
  lt1 = dol2/15+ut;
  if(lt1>=24) lt = lt1-24;
  else lt = lt1;
  if(lt1<0) lt = lt1+24;
 
  Edit10->Text = lt;
}
//---------------------------------------------------------------------------
 
void __fastcall TTRASSA::Button2Click(TObject *Sender)
{
  Close();
}
//---------------------------------------------------------------------------
 
void __fastcall TTRASSA::Button3Click(TObject *Sender)
{
 TStringList* TmpList = new TStringList();
 
   if ( FileExists("input.txt") )
   {
      TmpList->LoadFromFile("input.txt");
 
      Edit1->Text = TmpList->Strings[0];
      Edit2->Text = TmpList->Strings[1];
      Edit3->Text = TmpList->Strings[2];
      Edit4->Text = TmpList->Strings[3];
      Edit5->Text = TmpList->Strings[4];
   }
 
   delete TmpList;
 
}
//---------------------------------------------------------------------------
 
void __fastcall TTRASSA::Button4Click(TObject *Sender)
{
  TStringList* TmpList = new TStringList();
 
      if ( FileExists("output.txt"))
   {
      TmpList->Add( Edit6->Text );
      TmpList->Add( Edit7->Text );
      TmpList->Add( Edit8->Text );
      TmpList->Add( Edit9->Text );
      TmpList->Add( Edit10->Text );
 
      TmpList->SaveToFile("output.txt");
   }
 
   delete TmpList;
}
//---------------------------------------------------------------------------
Вот код проги. Сказали, что всё чики-пуки.
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
15.09.2009, 10:01
за работоспособность не отвечаю, т.к. кое-каких функций не хватает, но в принципе этот код уже как консольное приложение билдером компилируется
Вложения
Тип файла: rar consol.rar (4.4 Кб, 12 просмотров)
0
1 / 1 / 3
Регистрация: 08.09.2009
Сообщений: 103
15.09.2009, 11:12  [ТС]
Спасибо, она работает, только результат не правильно выводит.ъ
C++
1
2
3
4
5
6
7
8
9
double DegToRad(double){
  // здесь должна быть какая-то ваша функция
  return 0;
}
//---------------------------------------------------------------------------
double RadToDeg(double){
  // здесь должна быть какая-то ваша функция
  return 0;
}
а что за функции например там должны быть?
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
15.09.2009, 11:17
погодите, это ваш проект, вам виднее, что это за функции... посмотрите формулы преобразования градусов в радианы и обратно, и туда впишите... проект пока что перешел в состояние - "<вырезано цензурой> он компилируется, но не работает"
0
1 / 1 / 3
Регистрация: 08.09.2009
Сообщений: 103
15.09.2009, 11:23  [ТС]
VoodooMan, у меня так таковых формул которые перводят в радианы нет, просто значения у меня в градусах и DegToRad у меня и переводит это значение в радианы.
0
Почетный модератор
 Аватар для Lord_Voodoo
8785 / 2538 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
15.09.2009, 11:29
ну все же есть такая функция, хотя там есть и обратная, вот и впиши ее... я даже тебе место обозначил
1
81 / 81 / 6
Регистрация: 14.09.2009
Сообщений: 252
15.09.2009, 11:32
C++
1
2
3
4
5
6
7
8
9
double DegToRad(double){
  // здесь должна быть какая-то ваша функция
  return 0;
}
//---------------------------------------------------------------------------
double RadToDeg(double){
  // здесь должна быть какая-то ваша функция
  return 0;
}
Это надо удалить кажется... Эти функции прописаны в math.h, который подключается.
1
1 / 1 / 3
Регистрация: 08.09.2009
Сообщений: 103
15.09.2009, 11:45  [ТС]
Всем спасибо за помошь, выдает почти правильный результат, но там я думаю сама разберусь, но это завтра, на сегодня рабочий день закончен. Покажу завтра своим начальникам, вот и узнаю то или не то сделала. Без вашей помищи не обошлась бы))))
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
15.09.2009, 11:45
Помогаю со студенческими работами здесь

Подскажите пожалуйста
Решил перейти с Delphi на C++ и установил рад студию хе3 у меня проги норм запускаются а у друзей и на виртуалке ошибка запуск...

Пазл подскажите
Есть код но на С++ builder но не могу разобраться в нём ошибку выдаёт в самом начале #include &quot;math.hpp&quot; // размер поля...

подскажите с программой
написать программу, которая удаляет из текстового файла все слова, начинающиеся и заканчивающиеся на одну и ту же букву. буду рад...

Подскажите инструмент
Вообщем нужно ввести слова через пробел.Чем можно воспользоваться?

Подскажите компонент
вот что имеется void __fastcall TForm1::ListBox1Click(TObject *Sender) { //добавить в список для копирования ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
19
Ответ Создать тему
Новые блоги и статьи
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
Оптимизация кода на разграничение прав доступа к элементам формы
Maks 13.04.2026
Алгоритм из решения ниже реализован на нетиповом документе, разработанного в конфигурации КА2. Задачи, как таковой, поставлено не было, проделанное ниже исключительно моя инициатива. Было так:. . .
Контроль заполнения и очистка дат в зависимости от значения перечислений
Maks 12.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: реализовать контроль корректности заполнения дат назначения. . .
Архитектура слоя интернета для сервера-слоя.
Hrethgir 11.04.2026
В продолжение https:/ / www. cyberforum. ru/ blogs/ 223907/ 10860. html Знаешь что я подумал? Раз мы все источники пишем в голове ветки, то ничего не мешает добавить в голову такой источник, который сам. . .
Подстановка значения реквизита справочника в табличную часть документа
Maks 10.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеПерсонала", разработанного в конфигурации КА2. Задача: при выборе сотрудника (справочник Сотрудники) в ТЧ документа. . .
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru