‘орум программистов, компьютерный форум, киберфорум
Ќаши страницы
C++ Builder
¬ойти
–егистраци€
¬осстановить пароль
 
–ейтинг: –ейтинг темы: голосов - 9, средн€€ оценка - 4.67
kiruhka
1 / 1 / 3
–егистраци€: 08.09.2009
—ообщений: 103
#1

ѕодскажите...... - C++ Builder

10.09.2009, 05:24. ѕросмотров 1184. ќтветов 18
ћетки нет (¬се метки)

ѕомогите пожалуйста!!

ћне надо сделать прогу в —++ bulder(и можно ли вообще так сделать), чтобы при запуске EXE файла она сама брала данные из файла, считала и потом сохран€ла данные в файл, а потом автоматически закрывалась.. ” мен€ есть прога, но при запуске открываетс€ окно и чтобы она всЄ сделала надо нажимать на кнопки на загрузку данных, расчет, сохранение и соответственно закрыть.
«аранее благодарю!
http://www.cyberforum.ru/cpp/thread83203.html
0
Ќадоела реклама? «арегистрируйтесь и она исчезнет полностью.
Similar
Ёксперт
41792 / 34177 / 6122
–егистраци€: 12.04.2006
—ообщений: 57,940
10.09.2009, 05:24
я подобрал дл€ вас темы с готовыми решени€ми и ответами на вопрос ѕодскажите...... (C++ Builder):

ѕодскажите
≈сть ли примерно така€ функци€ и как ей пользоватс€ прыгать по закладкам ну и...

ѕодскажите!
ѕривет! ”чилс€ на программиста в универе, окончил в 2005 году. ѕосле универа...

ѕодскажите по C++
¬от создал € какую нибудь программу в Borland C++ Builder 6, а как сделать чтоб...

ѕодскажите инструмент
¬ообщем нужно ввести слова через пробел.„ем можно воспользоватьс€?

ѕазл подскажите
≈сть код но на —++ builder но не могу разобратьс€ в нЄм ошибку выдаЄт в самом...

18
Lord_Voodoo
—упер-модератор
8607 / 2228 / 133
–егистраци€: 07.03.2007
—ообщений: 10,802
«авершенные тесты: 1
10.09.2009, 08:54 #2
переделай под консоль свою прогу и ничего нажимать не надо будет
0
Monte-Cristo
2794 / 1380 / 107
–егистраци€: 07.03.2009
—ообщений: 4,446
10.09.2009, 09:32 #3
»ли создай просто чистое WinAPI приложение.. без формы... и описывай все действи€ в функции WinMain()
0
AntonChik
1085 / 583 / 121
–егистраци€: 11.11.2008
—ообщений: 1,544
10.09.2009, 10:11 #4
если у теб€ уже есть така€ GUI-прога и алгоритм действий вполне вн€тен, то AutoIt поможет тебе
0
Otaka
1827 / 685 / 55
–егистраци€: 11.12.2008
—ообщений: 1,019
10.09.2009, 13:43 #5
≈сли программа уже есть, то всего-то нужно:
—оздать обработчик OnCreate.
¬ новосозданном обработчике прописать
C++
1
2
3
 Button1Click(NULL);//ќбработчик кнопки загрузки 
Button2Click(NULL);//ќбработчик кнопки расчета ... 
Close(); //¬ыходим



ћы типа нажимаем на кнопки загрузки, расчета, сохранени€.
0
kiruhka
1 / 1 / 3
–егистраци€: 08.09.2009
—ообщений: 103
10.09.2009, 17:46  [“—] #6
Otaka,
—пасибо большое!! я попробую в понедельник на работе)))
0
kiruhka
1 / 1 / 3
–егистраци€: 08.09.2009
—ообщений: 103
15.09.2009, 08:26  [“—] #7
”важаемые программисты!
” мен€ вот така€ проблема. ” мен€ есть прога, в ней несколько Ёдитов и кнопки «агрузить с файла, расчитать, сохранить в файл и закрыть. ¬се работает, но мне надо сделать так, чтобы при запуске exe-файла не по€вл€лась форма(хот€ в принципе она должна быть) и всЄ делалось автоматически. ¬от.
ѕомогите пожалуйста. «аранее спасибо!
0
Sasha
4918 / 2383 / 529
–егистраци€: 05.06.2008
—ообщений: 7,465
«аписей в блоге: 3
15.09.2009, 08:58 #8
—транно, а как ты будешь на кнопки нажимать, если формы не будет
0
Lord_Voodoo
—упер-модератор
8607 / 2228 / 133
–егистраци€: 07.03.2007
—ообщений: 10,802
«авершенные тесты: 1
15.09.2009, 09:09 #9
kiruhka, самый простой способ - это спр€тать форму
C++
1
2
3
4
void __fastcall TMainForm::FormPaint(TObject *Sender)
{
   Hide();
}
и вызвать тут же обработчика клика на кнопку - переделок минимум, но все выполн€етс€ без формы и кликов на кнопки... или же переделай в консольку проект, в принципе тоже несильно долгое и утомительное зан€тие... а еще тут уже была така€ тема
0
kiruhka
1 / 1 / 3
–егистраци€: 08.09.2009
—ообщений: 103
15.09.2009, 09:19  [“—] #10
я уже думала про консоль, но € вообще не знаю консольки, там € как пон€ла вообще другой синтаксис.
0
Lord_Voodoo
—упер-модератор
8607 / 2228 / 133
–егистраци€: 07.03.2007
—ообщений: 10,802
«авершенные тесты: 1
15.09.2009, 09:21 #11
kiruhka, с чего вы это вз€ли? выложите свой проект, посмотрим, что можно сделать
0
kiruhka
1 / 1 / 3
–егистраци€: 08.09.2009
—ообщений: 103
15.09.2009, 09:40  [“—] #12
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
—упер-модератор
8607 / 2228 / 133
–егистраци€: 07.03.2007
—ообщений: 10,802
«авершенные тесты: 1
15.09.2009, 10:01 #13
за работоспособность не отвечаю, т.к. кое-каких функций не хватает, но в принципе этот код уже как консольное приложение билдером компилируетс€
0
¬ложени€
“ип файла: rar consol.rar (4.4  б, 11 просмотров)
kiruhka
1 / 1 / 3
–егистраци€: 08.09.2009
—ообщений: 103
15.09.2009, 11:12  [“—] #14
—пасибо, она работает, только результат не правильно выводит.ъ
C++
1
2
3
4
5
6
7
8
9
double DegToRad(double){
  // здесь должна быть кака€-то ваша функци€
  return 0;
}
//---------------------------------------------------------------------------
double RadToDeg(double){
  // здесь должна быть кака€-то ваша функци€
  return 0;
}
а что за функции например там должны быть?
0
Lord_Voodoo
—упер-модератор
8607 / 2228 / 133
–егистраци€: 07.03.2007
—ообщений: 10,802
«авершенные тесты: 1
15.09.2009, 11:17 #15
погодите, это ваш проект, вам виднее, что это за функции... посмотрите формулы преобразовани€ градусов в радианы и обратно, и туда впишите... проект пока что перешел в состо€ние - "<вырезано цензурой> он компилируетс€, но не работает"
0
kiruhka
1 / 1 / 3
–егистраци€: 08.09.2009
—ообщений: 103
15.09.2009, 11:23  [“—] #16
VoodooMan, у мен€ так таковых формул которые первод€т в радианы нет, просто значени€ у мен€ в градусах и DegToRad у мен€ и переводит это значение в радианы.
0
Lord_Voodoo
—упер-модератор
8607 / 2228 / 133
–егистраци€: 07.03.2007
—ообщений: 10,802
«авершенные тесты: 1
15.09.2009, 11:29 #17
ну все же есть така€ функци€, хот€ там есть и обратна€, вот и впиши ее... € даже тебе место обозначил
1
GAV_13
81 / 81 / 6
–егистраци€: 14.09.2009
—ообщений: 252
15.09.2009, 11:32 #18
C++
1
2
3
4
5
6
7
8
9
double DegToRad(double){
  // здесь должна быть кака€-то ваша функци€
  return 0;
}
//---------------------------------------------------------------------------
double RadToDeg(double){
  // здесь должна быть кака€-то ваша функци€
  return 0;
}
Ёто надо удалить кажетс€... Ёти функции прописаны в math.h, который подключаетс€.
1
kiruhka
1 / 1 / 3
–егистраци€: 08.09.2009
—ообщений: 103
15.09.2009, 11:45  [“—] #19
¬сем спасибо за помошь, выдает почти правильный результат, но там € думаю сама разберусь, но это завтра, на сегодн€ рабочий день закончен. ѕокажу завтра своим начальникам, вот и узнаю то или не то сделала. Ѕез вашей помищи не обошлась бы))))
0
15.09.2009, 11:45
MoreAnswers
Ёксперт
37091 / 29110 / 5898
–егистраци€: 17.06.2006
—ообщений: 43,301
15.09.2009, 11:45
ѕривет! ¬от еще темы с решени€ми:

ѕодскажите алгоритм
ƒобрый вечер. —тоит така€ задача: проверить входит ли точка в произвольный...

ѕодскажите книгу
–аньше у мен€ была книга по builder где подробно рассказывалось про каждые его...

ѕодскажите компонент
вот что имеетс€ void __fastcall TForm1::ListBox1Click(TObject *Sender) {...

ѕодскажите пожалуйста
–ешил перейти с Delphi на C++ и установил рад студию хе3 у мен€ проги норм...


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

»ли воспользуйтесь поиском по форуму:
19
ќтвет —оздать тему
ќпции темы

 ибер‘орум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
–ейтинг@Mail.ru