Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на C/С++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322

Открыть новую тему     Написать ответ в эту тему

Crazy_Shrike



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Вопросы по программированию на C/С++

 
  • Справочники, книги
  • Выбор IDE (среды программирования)
     
    Постарайтесь дать как можно больше информации о возникшей проблеме - это в конце концов в ваших же интересах чтобы вам помогли.

    Решения конкретных задач собираются и обсуждаются в теме Задачи по C/С++ .

    Прежде чем просить помощи в задании...
    Если позарез надо и вы даже готовы заплатить

    Как правильно задавать вопросы, если вы хотите получить ответ.

    Полезные ссылки:
    C++(eng)

  • Всего записей: 241 | Зарегистр. 25-03-2004 | Отправлено: 13:37 06-05-2004 | Исправлено: AZJIO, 19:45 12-05-2014
    JekaCh

    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Здравствуйте, у меня опять возникли вопросы по поводу написания интерфейса. Помогите плиз. Надо чтобы в ComboBox при выборе определённой текстовой строчки в переменную записывалось определённое значение. Вот как это должно выглядеть в моём представление:
     
    __fastcall TForm1::TForm1(TComponent* Owner)
       : TForm(Owner)
    {
       ComboBox1->Items->Add("Действие 1");
       ComboBox1->Items->Add("Действие 2");
       ComboBox1->Items->Add("Действие 3");
    }
     
     
    void __fastcall TForm1::ComboBox1Select(TObject *Sender)
    {
       Если выбрано "Действие 1" ->N=1;
       Если выбрано "Действие 2" ->N=2;
          Если выбрано "Действие 3" ->N=3;
    }
     
    Как это написать?  Раньше  у  меня  были  цифры  в  комбобоксах,  я  просто  делал  StrToInt  и в  соответствие  каждой  цифре  ставил  какое-то  действие.  А  что  делать  если  в  комбобоксе  не  цифра,  а  строка?

    Всего записей: 46 | Зарегистр. 26-08-2003 | Отправлено: 20:34 07-04-2006 | Исправлено: JekaCh, 00:08 08-04-2006
    Fantom 14



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    смотри параметр ItemIndex, он изменяется в соотвествии с выбранным пунктом, и никаких StrToInt не надо. нумерация с 0
     
    Добавлено:
    надо сделать одну программку где в теле проги будут зашиты математические функции. в  интерфейсе будет выводиться список этих функций в CheckListBox, как передавать номера выбранных функций в класс(где зашиты функции) для дальнейшей работы с этими функциями.

    Всего записей: 322 | Зарегистр. 23-10-2004 | Отправлено: 10:43 10-04-2006
    JekaCh

    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    А никто совершенно случайно не рисовал в билдере гистограммы? А то я что-то не очень понимаю как ето сделат. Надо всё заставить в он-лайн режиме рисоваться на гистограмме (по оси х - число по у - сколько раз встречается)? Пробовал использовать компонент Chart тип Area. Если использовать просто Series1->Add(z[0]), то он по оси х - пишет номер события от 0 соответсвенно и до бесконечности, а по оси у - величину числа в этом событие, а нужно-то совершенно  другое .

    Всего записей: 46 | Зарегистр. 26-08-2003 | Отправлено: 01:15 13-04-2006
    0Vovan0



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Искал копмилятор + IDE для мелких программок на Си, только начал учить, пробовал Dev C++, Janes File Editor, Pelles C. Последние два наиболее понравились, но вот всех них не работает например такой вот код
     
     
    Цитата:
     
    #include <stdio.h>  
    #include <stdlib.h>  
    #include <time.h>  
     
    int main(void) {  
       int i, ar[120];  
       randomize();  
       for (i=0; i<120; i++) {  
          ar[i]=random(99);  
          printf("%i", ar[i]);  
       }  
     
       getchar();  
    }  
     

    Ругается на ramdom(), randomize(), чет типа не может найти прототипы этих функций. Почему? stdlib.h, time.h и понятно stdio.h во всех трех имеются, как я понимаю там описывается эти функции.
    В билдере све прекрасно работает, но по многим причинам он не устраивает.
     
    Как решить эту проблему? Или мож че аналогичное посоветуете?

    Всего записей: 2370 | Зарегистр. 15-07-2005 | Отправлено: 06:00 14-04-2006 | Исправлено: 0Vovan0, 06:02 14-04-2006
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    0Vovan0

    Цитата:
    как я понимаю там описывается эти функции.
     
    А это надо не понимать, а посмотреть.
    В Visual C++, например, этих функций нет - есть rand и srand. Что из этой области реализовано в упомянутых системах - надо смотреть по хелпу и/или хидерам.

    Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 08:59 14-04-2006
    viralig

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте!  
     
     
     
    Очень прошу помочь с одной проблемой.  
     
    Я пишу программу в среде C++ Builder 6. С помощью компонента NMSMTP я посылаю email письма.  
    Для этого я использую следующий код:  
     
    /********************************  
    NMSMTP2 -> Host = "******";  
    NMSMTP2 -> Port = 25;  
    NMSMTP2 -> UserID = "info";  
     
    NMSMTP2 -> Connect ();  
     
    NMSMTP2 -> PostMessage -> FromAddress = "**********";  
    NMSMTP2 -> PostMessage -> FromName = "***********";  
    NMSMTP2 -> PostMessage -> ToAddress -> Text = "**********";  
    NMSMTP2 -> PostMessage -> Body -> Text = "Hello !";  
     
    NMSMTP2 -> SendMail ();  
     
    *********************************/  
     
    Когда выполняется метод SendMail, то возникает такая ошибка
     
    Project Project1.exe raised exception class Exception with message '505 Authentication required
    '. Process stopped. Use Step or Run to continue.
     
    Письмо естественно не отправляется.
    Сервер Exchange.
     
    Заранее благодарен.

    Всего записей: 2 | Зарегистр. 14-04-2006 | Отправлено: 12:36 14-04-2006
    Mickey_from_nsk

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Это такая фича эксченджа.  
    Как обходить не знаю, по идее SMTP протокол не требует аутентификации.
    Нашел такую ссылку. Мне понравилось.
    http://bugtraq.ru/cgi-bin/forum.mcgi?type=sb&b=16&m=89128
    Может еще это поможет
    http://support.microsoft.com/default.aspx?kbid=298589

    Всего записей: 636 | Зарегистр. 21-10-2002 | Отправлено: 15:16 14-04-2006 | Исправлено: Mickey_from_nsk, 15:19 14-04-2006
    Karlsberg



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    viralig
    Попробуй запустить сниффер перед запуском проги. Скорее всего сервер требует имя и пароль, и ты все увидишь в TCP-логах

    Всего записей: 1008 | Зарегистр. 13-12-2001 | Отправлено: 17:07 14-04-2006
    0Vovan0



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Abs62
    В хелпе я чет вообще функции randomize() не нашел, попробую так как ты сказал.

    Всего записей: 2370 | Зарегистр. 15-07-2005 | Отправлено: 22:37 14-04-2006
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    0Vovan0
    Посмотрел в Борландовских хидерах - там тоже задействованы rand и srand:

    Код:
    #define random (num) (int)(((long)rand()*(num))/(RAND_MAX+1))
    #define randomize() srand((unsigned)time(NULL))
     
    Так что пробуй непосредственно rand и srand - должно заработать.

    Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 00:36 15-04-2006
    0Vovan0



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Abs62
    Не очень понял что это
    Цитата:
    #define random (num) (int)(((long)rand()*(num))/(RAND_MAX+1))  
    #define randomize() srand((unsigned)time(NULL))

    значит, но rand() и srand() почти помогли.
     
    Теперь JFE(gcc 2.95), Pellec C, Dev C++  на эти функции не ругаются, но на почти тот же код:

    Цитата:
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
     
    int main(void) {
       int i, ar[120];
       rand();
       for (i=0; i<120; i++) {
          ar[i]=srand(99);
          printf("%i", ar[i]);
       }
     
       getchar();
       return 0;
    }

    говорят такое:
    1 JFE:

    Цитата:
    g++.exe -x c++ -c E:\DOCUME~1\web\МОИДОК~1\unknown1 -o E:\DOCUME~1\web\МОИДОК~1\unknown1.o  -Wall -fpermissive  
    In file included from E:\DOCUME~1\web\МОИДОК~1\unknown1:1:
    ..\lib\gcc-lib\i386-mingw32\2.95.2\..\..\..\..\include\stdio.h:130: warning: `__cdecl__' attribute directive ignored
    ..\lib\gcc-lib\i386-mingw32\2.95.2\..\..\..\..\include\stdio.h:131: warning: `__cdecl__' attribute directive ignored
    In file included from E:\DOCUME~1\web\МОИДОК~1\unknown1:2:
    ..\lib\gcc-lib\i386-mingw32\2.95.2\..\..\..\..\include\stdlib.h:193: warning: `__cdecl__' attribute directive ignored
    ..\lib\gcc-lib\i386-mingw32\2.95.2\..\..\..\..\include\stdlib.h:194: warning: `__cdecl__' attribute directive ignored
    ..\lib\gcc-lib\i386-mingw32\2.95.2\..\..\..\..\include\stdlib.h:198: warning: `__cdecl__' attribute directive ignored
    ..\lib\gcc-lib\i386-mingw32\2.95.2\..\..\..\..\include\stdlib.h:218: warning: `__cdecl__' attribute directive ignored
    ..\lib\gcc-lib\i386-mingw32\2.95.2\..\..\..\..\include\stdlib.h:219: warning: `__cdecl__' attribute directive ignored
    ..\lib\gcc-lib\i386-mingw32\2.95.2\..\..\..\..\include\stdlib.h:220: warning: `__cdecl__' attribute directive ignored
    ..\lib\gcc-lib\i386-mingw32\2.95.2\..\..\..\..\include\stdlib.h:221: warning: `__cdecl__' attribute directive ignored
    ..\lib\gcc-lib\i386-mingw32\2.95.2\..\..\..\..\include\stdlib.h:222: warning: `__cdecl__' attribute directive ignored
    ..\lib\gcc-lib\i386-mingw32\2.95.2\..\..\..\..\include\stdlib.h:223: warning: `__cdecl__' attribute directive ignored
    ..\lib\gcc-lib\i386-mingw32\2.95.2\..\..\..\..\include\stdlib.h:224: warning: `__cdecl__' attribute directive ignored
    ..\lib\gcc-lib\i386-mingw32\2.95.2\..\..\..\..\include\stdlib.h:232: warning: `__cdecl__' attribute directive ignored
    ..\lib\gcc-lib\i386-mingw32\2.95.2\..\..\..\..\include\stdlib.h:233: warning: `__cdecl__' attribute directive ignored
    ..\lib\gcc-lib\i386-mingw32\2.95.2\..\..\..\..\include\stdlib.h:476: warning: `__cdecl__' attribute directive ignored
    In file included from E:\DOCUME~1\web\МОИДОК~1\unknown1:3:
    ..\lib\gcc-lib\i386-mingw32\2.95.2\..\..\..\..\include\time.h:93: warning: `__cdecl__' attribute directive ignored
    ..\lib\gcc-lib\i386-mingw32\2.95.2\..\..\..\..\include\time.h:94: warning: `__cdecl__' attribute directive ignored
    ..\lib\gcc-lib\i386-mingw32\2.95.2\..\..\..\..\include\time.h:95: warning: `__cdecl__' attribute directive ignored
    ..\lib\gcc-lib\i386-mingw32\2.95.2\..\..\..\..\include\time.h:96: warning: `__cdecl__' attribute directive ignored
    E:\DOCUME~1\web\МОИДОК~1\unknown1: In function `int main()':
    E:\DOCUME~1\web\МОИДОК~1\unknown1:9: void value not ignored as it ought to be
    Failure

     
    Pellec C покороче, но все равно не понятно:

    Цитата:
    Building x.obj.
    E:\Documents and Settings\web\¦юш фюъєьхэЄv\x.c(9): error #2168: Operands of = have incompatible types 'int' and 'void'.
    *** Error code: 1 ***
    Done.

     
    Dev C++"

    Цитата:
    9 untitled1.c
     void value not ignored as it ought to be
     

     
    Девятая строчка это
    Цитата:
     ar[i]=srand(99);

    И что в ней не так, чего всем им не нравится, не понимаю

    Всего записей: 2370 | Зарегистр. 15-07-2005 | Отправлено: 04:59 15-04-2006 | Исправлено: 0Vovan0, 05:06 15-04-2006
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    0Vovan0
    Просто ты перепутал rand и srand.

    Цитата:
     
    rand  
    int rand( void );  
    Return Value  
    rand returns a pseudorandom number, as described above. There is no error return.
    Remarks  
    The rand function returns a pseudorandom integer in the range 0 to RAND_MAX. Use the srand function to seed the pseudorandom-number generator before calling rand.
     
    srand  
    Sets a random starting point.
    void srand(
       unsigned int seed  
    );
    Parameters  
    seed  
    Seed for random-number generation  
    Remarks  
    The srand function sets the starting point for generating a series of pseudorandom integers. To reinitialize the generator, use 1 as the seed argument. Any other value for seed sets the generator to a random starting point. rand retrieves the pseudorandom numbers that are generated. Calling rand before any call to srand generates the same sequence as calling srand with seed passed as 1.
     
     
    srand только инициализирует генератор случайных чисел и не возвращает никакого значения - его возвращает rand. Естественно, при этом строка "ar[i]=srand(99);" вызывает ошибку компиляции. Просто поменяй srand и rand местами.

    Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 14:11 15-04-2006
    viralig

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Я и без снифера знаю, что кроме юзера оно требует и пароль.
    Вопрос в том как его внести с помощью NMSMTP?

    Всего записей: 2 | Зарегистр. 14-04-2006 | Отправлено: 18:45 17-04-2006
    JekaCh

    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Не подскажите как сохранить график с компоненты Tchart в графический файл?

    Всего записей: 46 | Зарегистр. 26-08-2003 | Отправлено: 20:28 17-04-2006
    EZH



    Advanced Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    JekaCh

    Цитата:
     
    Chart1->SaveToBitmapFile("file.bmp");
     

    Всего записей: 1738 | Зарегистр. 02-09-2004 | Отправлено: 21:44 17-04-2006
    JekaCh

    Junior Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Спасибо работает. А можно ли повысить разрешение сохраняемого файла? Он сохраняет в файл с разрешением равным размерам окна. А нужно больше.

    Всего записей: 46 | Зарегистр. 26-08-2003 | Отправлено: 22:23 17-04-2006
    0Vovan0



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Abs62
    Да нет, я проверял  и так и так:
    Pellec C:

    Цитата:
     
    Building x.obj.
    E:\Documents and Settings\web\¦юш фюъєьхэЄv\x.c(7): error #2070: Insufficient number of arguments to 'srand'.
    E:\Documents and Settings\web\¦юш фюъєьхэЄv\x.c(9): error #2138: Too many arguments to 'rand'.
    *** Error code: 1 ***
    Done.
     

    Остальные аналогично ругаются.
    А в чем ты сам пишеш? Мож посоветуеш что-то кроме билдера и виж студии?

    Всего записей: 2370 | Зарегистр. 15-07-2005 | Отправлено: 04:02 18-04-2006
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    0Vovan0
    И правильно ругаются. Я же привёл описания этих функций - rand вызывается без параметров, а srand - с параметром, определяющим стартовое значение генератора случайных чисел.

    Цитата:
    А в чем ты сам пишеш? Мож посоветуеш что-то кроме билдера и виж студии?

    Студия, Dev-C++. Но его ты уже опробовал.

    Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 08:04 18-04-2006
    0Vovan0



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    Abs62
    Чет ты меня совсем запутал
     

    Цитата:
    srand только инициализирует генератор случайных чисел и не возвращает никакого значения - его возвращает rand.

     

    Цитата:
    Я же привёл описания этих функций - rand вызывается без параметров, а srand - с параметром, определяющим стартовое значение генератора случайных чисел.

     
    Из первого я понял что rand аналог  random, а srand - randomize.
    Но random вызывается с параметром, а randomize - без, и тогда втоой вариант совсем непонятен.
     
    Если не сложно, напиши аналогичную програмку с рендомом в Dev-C++, и скомпилируй её. Если заработает - обьясни где у меня ошибка.

    Всего записей: 2370 | Зарегистр. 15-07-2005 | Отправлено: 03:33 19-04-2006
    Abs62



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    0Vovan0

    Код:
     
    #include <stdio.h>  
    #include <stdlib.h>  
    #include <time.h>  
     
    void randomize()
    {
      srand((unsigned)time(NULL));  
    }
     
    int random(int num)
    {
      int n=rand();
      return(n*num/(RAND_MAX+1));
    }
       
    int main(void) {  
       int i, ar[120];  
       randomize();  
       for (i=0; i<120; i++) {  
          ar[i]=random(99);  
          printf("%i", ar[i]);  
       }  
       
       getchar();  
    }  
     
     
    Так понятнее? Я здесь просто расписал randomize и random не через #define, а как функции.

    Всего записей: 6080 | Зарегистр. 22-10-2005 | Отправлено: 08:03 19-04-2006 | Исправлено: Abs62, 08:07 19-04-2006
    Открыть новую тему     Написать ответ в эту тему

    Страницы: 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 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322

    Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Вопросы по программированию на C/С++


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru