IPB

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

7 страниц V  « < 2 3 4 5 6 > »   
Reply to this topicStart new topic
> C/C++, Для новичков
feanor
сообщение 25 Sep 2010, 09:25
Сообщение #61

laughed as one fey
Сообщений: 12 167
Спасибо сказали: 20596 раз




Часом, не . вместо -> требует?
Попробуй dialog.setFileMode(QFileDialog::ExistingFiles); или &dialog -> setFileMode(QFileDialog::ExistingFiles);
Go to the top of the pageAdd Nick
 
+Quote Post
Shihad
сообщение 25 Sep 2010, 09:33
Сообщение #62

Weird
Сообщений: 1 976
Спасибо сказали: 644 раза




Феанор, спасибо. Работает.

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


--------------------
Работать надо - винтовка рядом.
Go to the top of the pageAdd Nick
 
+Quote Post
tolich
сообщение 25 Sep 2010, 09:49
Сообщение #63

😸🧡✊✌️
Сообщений: 16 398
Спасибо сказали: 3237 раз




Цитата(Shihad @ 25 Sep 2010, 09:33)
Феанор, спасибо. Работает.

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

Код
void MainForm::loadImage()
{      
  QFileDialog dialog(this, tr("Open Image"), lastDir, tr("Image Files (*.png *.jpg *.jpeg *.bmp *.tiff *.tif *.gif *.pnm *.pgm *.pbm *.ppm)"));
  dialog.setFileMode(QFileDialog::ExistingFiles);
  if (dialog.exec()) {
   QStringList fileNames;
   fileNames = dialog.selectedFiles();
   lastDir = dialog.directory().path();
   for (QStringList::Iterator it = fileNames.begin(); it != fileNames.end(); ++it )
     loadFile(*it);
  }
}

Как-то так.

Да, мой предыдущий пост предполагал что-то вроде:
Код
QFileDialog *fileDialog = new QFileDialog(this,
   tr("Open Image"), lastDir, tr("Image Files (*.png *.jpg *.jpeg *.bmp *.tiff *.tif *.gif *.pnm *.pgm *.pbm *.ppm)"));
fileDialog->setMode(QFileDialog::ExistingFiles );

Тем не менее, нет такого закона, который бы требовал обязательного создания объектов-диалогов в хипе.


--------------------
Я слежу за тобой!
* tolic.narod.ru

Цитата
Всегда приятно осознавать, что кто-то делает что-то хуже, чем делал бы ты, если бы умел.
Борис "Бонус" Репетур, "От винта!", выпуск 38.
Go to the top of the pageAdd Nick
 
+Quote Post
Shihad
сообщение 25 Sep 2010, 10:03
Сообщение #64

Weird
Сообщений: 1 976
Спасибо сказали: 644 раза




Спасибо, Толич. Тоже работает.
Авторство указал в комментариях к коду.


--------------------
Работать надо - винтовка рядом.
Go to the top of the pageAdd Nick
 
+Quote Post
ChASnock
сообщение 14 Jun 2012, 11:19
Сообщение #65

Geoff Snock | 茶スノック
Сообщений: 533
Спасибо сказали: 248 раз




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

только сейчас дошло, почему си плюс плюс с двумя плюсами smile.gif


--------------------
гномов сопротивляются заклинанию!

Цитата
Фейспалмы свои себе в сракотан засуньте, если больше сказать нечего.
Go to the top of the pageAdd Nick
 
+Quote Post
tolich
сообщение 14 Jun 2012, 11:23 (Сообщение отредактировал tolich - 28 Aug 2012, 10:27)
Сообщение #66

😸🧡✊✌️
Сообщений: 16 398
Спасибо сказали: 3237 раз




>> где может понадобиться оператор постинкремента вместе с возвращаемым им значением?
Код
char *strcpy( char *dest, const char *src)
{
  char *p=dest;
  while(*dest++=*src++);
  return p;
}


--------------------
Я слежу за тобой!
* tolic.narod.ru

Цитата
Всегда приятно осознавать, что кто-то делает что-то хуже, чем делал бы ты, если бы умел.
Борис "Бонус" Репетур, "От винта!", выпуск 38.


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
ChASnock
сообщение 14 Jun 2012, 12:30
Сообщение #67

Geoff Snock | 茶スノック
Сообщений: 533
Спасибо сказали: 248 раз




О как лихо.
Но, наверное, всегда его можно убрать и поставить инкремент в цикле.


--------------------
гномов сопротивляются заклинанию!

Цитата
Фейспалмы свои себе в сракотан засуньте, если больше сказать нечего.
Go to the top of the pageAdd Nick
 
+Quote Post
Berserker
сообщение 14 Jun 2012, 15:54
Сообщение #68

Immortal
Сообщений: 1 468
Спасибо сказали: 1153 раза




Разумеется.


--------------------
Go to the top of the pageAdd Nick
 
+Quote Post
Эроласт
сообщение 16 Jun 2012, 18:30 (Сообщение отредактировал Erolast - 16 Jun 2012, 18:36)
Сообщение #69

Зануда
Сообщений: 2 237
Спасибо сказали: 2894 раза




Intuit - C++ - отличный сайт. Нету нечего лишнего, только по теме, плюс куча примеров. Единственное - там надо зарегистрироваться, а дальше тупо перебирать лекции.


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 16 Jun 2012, 23:57
Сообщение #70

laughed as one fey
Сообщений: 12 167
Спасибо сказали: 20596 раз




Хм. Оказывается, назревает новая спецификация С.
http://ru.wikipedia.org/wiki/C11
Go to the top of the pageAdd Nick
 
+Quote Post
Эроласт
сообщение 17 Jul 2012, 18:33 (Сообщение отредактировал Erolast - 17 Jul 2012, 18:34)
Сообщение #71

Зануда
Сообщений: 2 237
Спасибо сказали: 2894 раза




У меня есть такая программка:
CODE

int main()
{
setlocale (LC_CTYPE,"rus");
int x = 1;
cout << "Введите размер массива"<< endl;
cin >> x;
// ??? //
system("pause");
return 0;
}


Надо чтобы она создавала массив размером x. Можно это как-нибудь устроить? Помогите, пожалуйста.
Go to the top of the pageAdd Nick
 
+Quote Post
feanor
сообщение 17 Jul 2012, 18:51
Сообщение #72

laughed as one fey
Сообщений: 12 167
Спасибо сказали: 20596 раз




В С так:

int *arr = (int*)malloc(x);
..
mfree(arr); //или free? я жертва swilib.h

В С++ через new/delete, думаю


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Эроласт
сообщение 17 Jul 2012, 19:04
Сообщение #73

Зануда
Сообщений: 2 237
Спасибо сказали: 2894 раза




feanor, спасибо, но - как теперь его можно проинициализировать?
Go to the top of the pageAdd Nick
 
+Quote Post
Bourn
сообщение 17 Jul 2012, 19:08
Сообщение #74

Immortal
Сообщений: 2 415
Спасибо сказали: 60 раз




Erolast
Код
for(int i=0;i<x;i++)
arr[i]=0;


--------------------
Не лезь в дела Мудрых. Понять - не поймешь, а хлопот не оберешься.
Go to the top of the pageAdd Nick
 
+Quote Post
Эроласт
сообщение 17 Jul 2012, 19:12 (Сообщение отредактировал Erolast - 17 Jul 2012, 19:13)
Сообщение #75

Зануда
Сообщений: 2 237
Спасибо сказали: 2894 раза




Винда ругается нехорошими словами sad.gif
А этот код вобще можно в с++ использовать? Просто я как раз в с++ написал, может из-за этого программа не работать?
Go to the top of the pageAdd Nick
 
+Quote Post
Bourn
сообщение 17 Jul 2012, 19:24
Сообщение #76

Immortal
Сообщений: 2 415
Спасибо сказали: 60 раз




полный код программы для с++
Код
int main()
{
setlocale (LC_CTYPE,"rus");
int x = 1;
cout << "Введите размер массива"<< endl;
cin >> x;
int *arr=new int[x];
for(int i=0;i<x;i++)
arr[i]=0;
delete [] arr;
system("pause");
return 0;
}


если делать malloc то надо указать размер правильный т.е.
Код
int *arr = (int*)malloc(x*sizeof(int));


--------------------
Не лезь в дела Мудрых. Понять - не поймешь, а хлопот не оберешься.


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Эроласт
сообщение 17 Jul 2012, 19:30 (Сообщение отредактировал Erolast - 17 Jul 2012, 19:30)
Сообщение #77

Зануда
Сообщений: 2 237
Спасибо сказали: 2894 раза




Спасибо огромное smile.gif И тот, и другой код теперь работает. А оказывается - всего-то одного слова не хватало...
Go to the top of the pageAdd Nick
 
+Quote Post
Shurup
сообщение 21 Sep 2012, 12:07 (Сообщение отредактировал Shurup - 21 Sep 2012, 12:10)
Сообщение #78

Щирий українець
Сообщений: 1 456
Спасибо сказали: 3026 раз




Просто для понимания.

Есть массив unsigned char * [ size], где size - динамический и может быть >100 000.

Я хочу работать с ним как с потоком для последовательного чтения переменных и структур.
Правильно ли я понимаю, что для этого мне нужно сначала создать поток, затем эти "over 100Кб" записать в этот поток, а потом только читать?
Или можно заставить поток брать данные именно оттуда без дополнительного копирования?

Или я вообще мимо и мне пора завязывать с Си?
Go to the top of the pageAdd Nick
 
+Quote Post
tolich
сообщение 21 Sep 2012, 12:25
Сообщение #79

😸🧡✊✌️
Сообщений: 16 398
Спасибо сказали: 3237 раз




Если я правильно понял, тебе нужен strstream. А с C завязывай, переходи на C++.


--------------------
Я слежу за тобой!
* tolic.narod.ru

Цитата
Всегда приятно осознавать, что кто-то делает что-то хуже, чем делал бы ты, если бы умел.
Борис "Бонус" Репетур, "От винта!", выпуск 38.


Спасибо сказали:
Go to the top of the pageAdd Nick
 
+Quote Post
Shurup
сообщение 21 Sep 2012, 12:39
Сообщение #80

Щирий українець
Сообщений: 1 456
Спасибо сказали: 3026 раз




Про бесплюсный си даже и думать не собирался.

strstream? Так а как его натравить на мой массив? Кроме как ->Write(array).
Go to the top of the pageAdd Nick
 
+Quote Post

7 страниц V  « < 2 3 4 5 6 > » 
Reply to this topicStart new topic
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 30 July 2025 - 20:02
Copyright by Алексей Крючков
Strategy Gamez by GrayMage
Programming by Degtyarev Dmitry
  Яндекс.Метрика