crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

2 страниц V  < 1 2  
Ответить в данную темуНачать новую тему
> Валидность URL
Dimix
  опции профиля:
сообщение 17.1.2011, 0:26
Сообщение #11


Студент
*

Группа: Участник
Сообщений: 74
Регистрация: 24.11.2010
Пользователь №: 2215

Спасибо сказали: 0 раз(а)




Репутация:   0  


Убедится, что Qt собрано статически.
Вернуть в динамическую сборку.
Соберет Qt статически, библиотеки будут без номера версии.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Litkevich Yuriy
  опции профиля:
сообщение 17.1.2011, 10:58
Сообщение #12


разработчик РЭА
*******

Группа: Сомодератор
Сообщений: 9669
Регистрация: 9.1.2008
Из: Тюмень
Пользователь №: 64

Спасибо сказали: 807 раз(а)




Репутация:   94  


Цитата(Dimix @ 17.1.2011, 2:26) *
Убедится, что Qt собрано статически.
Вернуть в динамическую сборку.
Соберет Qt статически, библиотеки будут без номера версии.
а какое это имеет отношение к "Проблемма с rand();"?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Dimix
  опции профиля:
сообщение 17.1.2011, 14:56
Сообщение #13


Студент
*

Группа: Участник
Сообщений: 74
Регистрация: 24.11.2010
Пользователь №: 2215

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(Litkevich Yuriy @ 17.1.2011, 10:58) *
а какое это имеет отношение к "Проблемма с rand();"?

И теоритически и физически некакого. Просто после использования этих двух команд число перестало случайно выбиратся.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Dimix
  опции профиля:
сообщение 21.1.2011, 8:59
Сообщение #14


Студент
*

Группа: Участник
Сообщений: 74
Регистрация: 24.11.2010
Пользователь №: 2215

Спасибо сказали: 0 раз(а)




Репутация:   0  


public:
    QNetworkAccessManager qnam;
    QNetworkReply *reply;
void MainWindow::newVersion()
{
    QUrl url("http://ваша ссылка/version.txt");//version.txt => 2.1
    reply = qnam.get(QNetworkRequest(url));
    connect(reply, SIGNAL(readyRead()),this, SLOT(httpReadyRead()));
}
void MainWindow::httpReadyRead()
{
    QByteArray data = reply->readAll();//все данные из файла записываем в масив
}
Вот таким образом сделал проверку новой версии!
По поводу rand(); убрал его совсем просто описываю переменную типа int x; и после присвоения кому либо "x" получаю случайное число.
Всем спасибо!
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Rocky
  опции профиля:
сообщение 21.1.2011, 9:42
Сообщение #15


Старейший участник
****

Группа: Участник
Сообщений: 530
Регистрация: 22.12.2008
Из: Санкт-Петербург
Пользователь №: 463

Спасибо сказали: 22 раз(а)




Репутация:   7  


Цитата(Dimix @ 21.1.2011, 8:59) *
описываю переменную типа int x; после присвоения кому либо "x" получаю случайное число.

Это как? Мусор чтоли рэндом? :shok:
int x;

int y = x; // random number???

Вот по такому принципу?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Dimix
  опции профиля:
сообщение 21.1.2011, 10:50
Сообщение #16


Студент
*

Группа: Участник
Сообщений: 74
Регистрация: 24.11.2010
Пользователь №: 2215

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата
Вот по такому принципу?

Если честно сам непойму что случилось до нового года делал так и все работало
int pine;
pine=rand();
QLineEdit* edit = new QLineEdit;
if(pine<999){
pine+=pine*5846;
}
QString pin;
pin.setNum(pine);

Сейчас реализовал так
qint64 pine;
QLineEdit* edit = new QLineEdit;
if(pine<999){
pine+=pine*5846;
}
QString pin;
pin.setNum(pine);
Может быть реализация и очень даже смехотворная но оно работает без багов.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
maint
  опции профиля:
сообщение 22.1.2011, 7:45
Сообщение #17


Участник
**

Группа: Участник
Сообщений: 235
Регистрация: 3.8.2009
Из: Иркутск
Пользователь №: 982

Спасибо сказали: 28 раз(а)




Репутация:   2  


Цитата(Dimix @ 21.1.2011, 15:50) *
Цитата
Вот по такому принципу?

Если честно сам непойму что случилось до нового года делал так и все работало
int pine;
pine=rand();
QLineEdit* edit = new QLineEdit;
if(pine<999){
pine+=pine*5846;
}
QString pin;
pin.setNum(pine);

Сейчас реализовал так
qint64 pine;
QLineEdit* edit = new QLineEdit;
if(pine<999){
pine+=pine*5846;
}
QString pin;
pin.setNum(pine);
Может быть реализация и очень даже смехотворная но оно работает без багов.

чудовищная реализация. Все же повторю, ПЕРЕД ИСПОЛЬЗОВАНИЕМ ФУНКЦИИ rand, нужно сделать
srand(time(NULL));

или
srand(getpid());

Лучше это сделать один раз в головной программе. Тогда будет действительно псевдо-случайная последовательность.Тогда rand будет выдавать действительно псевдослучайное число. А мусор может привести к редкостной и длинной последовательности нулей, скажем. Это наиболее частый случай

Сообщение отредактировал maint - 22.1.2011, 7:49
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
Dimix
  опции профиля:
сообщение 23.1.2011, 5:03
Сообщение #18


Студент
*

Группа: Участник
Сообщений: 74
Регистрация: 24.11.2010
Пользователь №: 2215

Спасибо сказали: 0 раз(а)




Репутация:   0  


int pine;
srand(qrand());
pine=rand();
if(pine<999){
   pine+=pine*5739;
}
Вот таким образом тоже работает maint с использованием srand(getpid()); //pine=31;
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
maint
  опции профиля:
сообщение 23.1.2011, 8:06
Сообщение #19


Участник
**

Группа: Участник
Сообщений: 235
Регистрация: 3.8.2009
Из: Иркутск
Пользователь №: 982

Спасибо сказали: 28 раз(а)




Репутация:   2  


Цитата(Dimix @ 23.1.2011, 10:03) *
int pine;
srand(qrand());
pine=rand();
if(pine<999){
   pine+=pine*5739;
}
Вот таким образом тоже работает maint с использованием srand(getpid()); //pine=31;

Не понял мысли, но функция srand используется ТОЛЬКО ОДИН раз в программе. Это инициализация генератора псевдослучайных чисел. Это если все время выдается одно и то же число
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

2 страниц V  < 1 2
Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


6 чел. читают эту тему (гостей: 6, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 29.11.2024, 2:21