Вопросы и ответы по программированию.

Для тех, кто хочет сделать мир лучше.
Сообщение
Автор
Аватара пользователя
Shlak
Эксперты no-Steam
Эксперты no-Steam
Сообщения: 1940
Зарегистрирован: 24.04.2011
Откуда: Рязань
Благодарил (а): 97 раз
Поблагодарили: 548 раз
Контактная информация:

#346 Сообщение 15.04.2013, 14:22

kinders666
Код для C# но под C++ там не много изменений.
[syntax lang="c" lines="n"]
int size = s0.length();
string s1 = "";
for (i = 0; i < (size/2); i++)
{
s1 = s1 + s0 +s0[i + (size/2)];
}[/syntax]
Тут только мой Steam профиль. Больше там ничего нет.
Изображение
Magicka 2 (Reff)

Аватара пользователя
kinders666
Модератор
Модератор
Сообщения: 4163
Зарегистрирован: 25.10.2006
Откуда: Москва
Благодарил (а): 537 раз
Поблагодарили: 191 раз

#347 Сообщение 15.04.2013, 20:44

Shlak
Благодарю, всё отлично работает, под C++ абсолютно подходит
Изображение
Изображение

Аватара пользователя
nikit-xxx
Лейтенант
Лейтенант
Сообщения: 208
Зарегистрирован: 28.11.2007
Благодарил (а): 44 раза
Поблагодарили: 5 раз

#348 Сообщение 21.04.2013, 22:45

как в jav`е сделать несколько независимых друг от друга итераторов для одной коллекции? можно ли вообще так сделать?
Откуда иксы в моём нике
Изображение
Изображение
скачать С. Прата. Язык программирования C++. Лекции и упражнения. 5-е изд (*Выровнена нумерация страниц, *Содержание)
Краткая инструкция по созданию пиратки-распака CS/HL
Изображение
Использование тэга подсветки синтаксиса
[syntax lang="cpp" lines="n"]
#include <iostream>
using namespace std;

struct cl{
static void f() { cout << "Hi, user!\n"; }
int i;
};

int main()
{
cl::f();
//cl::i = 1;
return 0;
}
[/syntax]

MOZGIII
Разработчик
Разработчик
Сообщения: 910
Зарегистрирован: 09.01.2009
Откуда: Переезжаю в /dev/null
Благодарил (а): 7 раз
Поблагодарили: 65 раз
Контактная информация:

#349 Сообщение 23.04.2013, 17:48

Конечно можно, просто делаешь итераторы, как обычно... Что не работает?

Аватара пользователя
nikit-xxx
Лейтенант
Лейтенант
Сообщения: 208
Зарегистрирован: 28.11.2007
Благодарил (а): 44 раза
Поблагодарили: 5 раз

#350 Сообщение 24.04.2013, 18:15

MOZGIII
в методе, получившем итератор как параметр, мне надо его клонировать(чтобы иметь итератор в изначальном состоянии, когда он указывает на начальный элемент ArrayList), а у итератора нет метода clone().....

[syntax lang="java" lines="n"]
public boolean smpl_expr(Iterator<Token> start_it, Iterator<Token> end_it){
Iterator<Token> i = new Iterator(start_it); // fail
Iterator<Token> i = start_it.clone(); // fail
}
[/syntax]
Откуда иксы в моём нике
Изображение
Изображение
скачать С. Прата. Язык программирования C++. Лекции и упражнения. 5-е изд (*Выровнена нумерация страниц, *Содержание)
Краткая инструкция по созданию пиратки-распака CS/HL
Изображение
Использование тэга подсветки синтаксиса
[syntax lang="cpp" lines="n"]
#include <iostream>
using namespace std;

struct cl{
static void f() { cout << "Hi, user!\n"; }
int i;
};

int main()
{
cl::f();
//cl::i = 1;
return 0;
}
[/syntax]

MOZGIII
Разработчик
Разработчик
Сообщения: 910
Зарегистрирован: 09.01.2009
Откуда: Переезжаю в /dev/null
Благодарил (а): 7 раз
Поблагодарили: 65 раз
Контактная информация:

#351 Сообщение 25.04.2013, 02:30

nikit-xxx
Понятно. Так в java (безопасно) делать нельзя.
Если очень надо, можно попробовать докастить итератор до какого-то типа, для которого определён clone() (такое по идее возможно, но копать не хочу).
А вообще, такая штука не должна возникать - скорее всего вы делаете что-то неправильно. Почему бы не передавать саму коллекцию как Iterable<E> и уже от неё брать итераторы?
Если работать нужно конкретно с ArrayList, то там вообще лучше использовать list.get(i); и c-подобный цикл чем итераторы, потому что это быстрее.

Аватара пользователя
Monk
VIP
VIP
Сообщения: 4713
Зарегистрирован: 21.11.2009
Благодарил (а): 418 раз
Поблагодарили: 1053 раза
Контактная информация:

#352 Сообщение 12.05.2013, 20:11

Использую плагин http://livehttpheaders.mozdev.org/ для просмотра запросов.
Недавно выловил вот такой:
Скрытый текст

Код: Выделить всё

POST /admin/prod_edit.php -----------------------------10203218776901
 Content-Disposition: form-data; name="process"
 
 2
 -----------------------------10203218776901
 Content-Disposition: form-data; name="id"
 
 4716
 -----------------------------10203218776901
 Content-Disposition: form-data; name="pdelete"
 
 
 -----------------------------10203218776901
 Content-Disposition: form-data; name="picture_save"
 
 4716_.jpg
 -----------------------------10203218776901
 Content-Disposition: form-data; name="did"
 
 1
 -----------------------------10203218776901
 Content-Disposition: form-data; name="bid"
 
 7
 -----------------------------10203218776901
 Content-Disposition: form-data; name="cid"
 
 0
 -----------------------------10203218776901
 Content-Disposition: form-data; name="cid2"
 
 128
 -----------------------------10203218776901
 Content-Disposition: form-data; name="cid3"
 
 0
 -----------------------------10203218776901
 Content-Disposition: form-data; name="cid4"
 
 0
 -----------------------------10203218776901
 Content-Disposition: form-data; name="cid5"
 
 0
 -----------------------------10203218776901
 Content-Disposition: form-data; name="aname"
 
 Áàëÿñèíà ÁË-001/Ñò.
 -----------------------------10203218776901
 Content-Disposition: form-data; name="shortdesc"
 
 
 -----------------------------10203218776901
 Content-Disposition: form-data; name="FCKeditor1"
 
 
 -----------------------------10203218776901
 Content-Disposition: form-data; name="picture"; filename=""
 Content-Type: application/octet-stream
 
 
 -----------------------------10203218776901
 Content-Disposition: form-data; name="price"
 
 1892.00
 -----------------------------10203218776901
 Content-Disposition: form-data; name="cprice"
 
 
 -----------------------------10203218776901
 Content-Disposition: form-data; name="f_width"
 
 13
 -----------------------------10203218776901
 Content-Disposition: form-data; name="f_height"
 
 66
 -----------------------------10203218776901
 Content-Disposition: form-data; name="f_depth"
 
 1
 -----------------------------10203218776901
 Content-Disposition: form-data; name="f_glubina"
 
 2
 -----------------------------10203218776901
 Content-Disposition: form-data; name="f_tolschina"
 
 13
 -----------------------------10203218776901
 Content-Disposition: form-data; name="f_diameter"
 
 3
 -----------------------------10203218776901
 Content-Disposition: form-data; name="ed_izm"
 
 øò
 -----------------------------10203218776901
 Content-Disposition: form-data; name="to_show"
 
 1
 -----------------------------10203218776901
 Content-Disposition: form-data; name="to_disc"
 
 0
 -----------------------------10203218776901--
 
Каким образом выполнять такой запрос?

ПС: предпросмотр сообщения на ксм плагин показал вот так к примеру:
Скрытый текст

Код: Выделить всё

POST /posting.php?sid=d0a09fad81da472a32a77ccce38bce8a -----------------------------11546784230445
 Content-Disposition: form-data; name="subject"
 
 Re: Вопросы и ответы по программированию.
 -----------------------------11546784230445
 Content-Disposition: form-data; name="addbbcode20"
 
 100
 -----------------------------11546784230445
 Content-Disposition: form-data; name="helpbox"
 
 Для загрузки изображений воспользуйтесь ссылкой слева
 -----------------------------11546784230445
 Content-Disposition: form-data; name="message"
 
 
 -----------------------------11546784230445
 Content-Disposition: form-data; name="attach_sig"
 
 on
 -----------------------------11546784230445
 Content-Disposition: form-data; name="preview"
 
 Предпросмотр
 -----------------------------11546784230445
 Content-Disposition: form-data; name="mode"
 
 reply
 -----------------------------11546784230445
 Content-Disposition: form-data; name="f"
 
 38
 -----------------------------11546784230445
 Content-Disposition: form-data; name="t"
 
 25425
 -----------------------------11546784230445
 Content-Disposition: form-data; name="icon"
 
 0
 -----------------------------11546784230445
 Content-Disposition: form-data; name="lastclick"
 
 1368374872
 -----------------------------11546784230445
 Content-Disposition: form-data; name="topic_cur_post_id"
 
 1030527
 -----------------------------11546784230445
 Content-Disposition: form-data; name="creation_time"
 
 1368374872
 -----------------------------11546784230445
 Content-Disposition: form-data; name="form_token"
 
 feced7fb3b5c7d8643c4b3bb9e9741cb044e7bac
 -----------------------------11546784230445--
 
«По ночам компьютеры собираются вместе и смеются над людьми, если те делают работу, которую могли бы делать компьютеры» (с) habrahabr
 
[hide_num=64]Изображение
Изображение

Не стоит становиться на одно колено ради девушки, которая ради тебя не готова встать на два. (С)
640K ought to be enough for anybody (с) BG[/hide_num]

MOZGIII
Разработчик
Разработчик
Сообщения: 910
Зарегистрирован: 09.01.2009
Откуда: Переезжаю в /dev/null
Благодарил (а): 7 раз
Поблагодарили: 65 раз
Контактная информация:

#353 Сообщение 18.05.2013, 01:48

Это multipart/form-data - http://ru.wikipedia.org/wiki/Multipart/form-data, http://tools.ietf.org/html/rfc2388 - в одном POST запросе содержится несколько полей, но закодированы не как обычно, через one=1&two=2&..., а по-особому, как - описано в ссылках. Круче обычного способа это тем, что так можно загружать файлы, да и просто большие формы по-другому передаются - не кодируются в url при передаче.

Аватара пользователя
Monk
VIP
VIP
Сообщения: 4713
Зарегистрирован: 21.11.2009
Благодарил (а): 418 раз
Поблагодарили: 1053 раза
Контактная информация:

#354 Сообщение 18.05.2013, 02:03

Угу, мультипарт нужен был, более того. Извращенцы.
«По ночам компьютеры собираются вместе и смеются над людьми, если те делают работу, которую могли бы делать компьютеры» (с) habrahabr
 
[hide_num=64]Изображение
Изображение

Не стоит становиться на одно колено ради девушки, которая ради тебя не готова встать на два. (С)
640K ought to be enough for anybody (с) BG[/hide_num]

MOZGIII
Разработчик
Разработчик
Сообщения: 910
Зарегистрирован: 09.01.2009
Откуда: Переезжаю в /dev/null
Благодарил (а): 7 раз
Поблагодарили: 65 раз
Контактная информация:

#355 Сообщение 18.05.2013, 14:54

Monk
?

testncrash
Капитан
Капитан
Сообщения: 459
Зарегистрирован: 25.02.2007
Благодарил (а): 22 раза
Поблагодарили: 33 раза
Контактная информация:

#356 Сообщение 09.08.2013, 19:26

Хочу научить программу считывать информацию с Steam CDR, есть какие-то библиотеки для работы с ним?

Аватара пользователя
$t@t!c_V()1D
Разработчик
Разработчик
Сообщения: 2639
Зарегистрирован: 06.12.2007
Благодарил (а): 10 раз
Поблагодарили: 29 раз

#357 Сообщение 10.08.2013, 06:11

testncrash
CDR - прошлый век...ну уходящий уж точно. Сейчас модно читать Кафку, Коэльо Appinfo.vdf - там сейчас основная информация. CDR, возможно, понадобится только для распаковки SID, ибо Valve все свои и, кажется, вдобавок ещё и другие выпущенные на Source игры будет переводить на SteamPipe.

testncrash
Капитан
Капитан
Сообщения: 459
Зарегистрирован: 25.02.2007
Благодарил (а): 22 раза
Поблагодарили: 33 раза
Контактная информация:

#358 Сообщение 10.08.2013, 11:38

$t@t!c_V()1D
Спасибо за наводку, буду сидеть разбираться. Благо по формату хоть инфа есть.

Аватара пользователя
Pr0Ger
Модератор
Модератор
Сообщения: 1829
Зарегистрирован: 16.01.2009
Благодарил (а): 17 раз
Поблагодарили: 214 раз
Контактная информация:

#359 Сообщение 19.09.2013, 23:29

Вообщем, стоит такая задача, есть сервер который отдает списки определенных объектов в JSON. Нужно все это в фоне подгружать и представлять уже в виде списка жавовских объектов (по сути просто обертка, чтобы не писать постоянно JSONObject.get(key)). Собственно, делаю для этого такую штуку (все возможные объекты занаследованы от Base, для удобства)

Код: Выделить всё

class AbstractRestLoader<D extends Base> extends AsyncTaskLoader<List<D>>
Вопрос в том, как сделать из одинаковых JSONObject эти разные объекты. Напрямую инстанцировать класс D без костылей не получится, добавить статический метод в эти классы, который будет возвращать инстанс созданного класса тоже не получится, потому что статические методы нельзя переопределить.

Есть вариант все это переделать так, что всегда будет возвращаться List<Base>, и добавить параметр, который как раз будет указывать какие классы делать (по сути такую фабрику сделать), заодно этот параметр использовать для генерации адреса, откуда берем данные. Но как то это перегружено получится, может есть другой путь?

Аватара пользователя
Shlak
Эксперты no-Steam
Эксперты no-Steam
Сообщения: 1940
Зарегистрирован: 24.04.2011
Откуда: Рязань
Благодарил (а): 97 раз
Поблагодарили: 548 раз
Контактная информация:

#360 Сообщение 20.09.2013, 18:52

Проблема с изменением параметра в реестре: 1 функция работает, 2 нет. (Оба параметра в реестре существуют, оба с одинаковыми правами)
Как только не пробовал — не получается.
Да, я знаю что написано коряво и далеко не всё, но в первую очередь мне нужно чтобы это работало.
[syntax lang="c" lines="n"]
BOOL RegistryAdd(void)
{
LPTSTR szValue = L"russian";
HKEY hKey;
RegOpenKeyEx( HKEY_CURRENT_USER,L"Software\\Valve\\Steam",0, KEY_SET_VALUE,&hKey );
RegSetValueEx( hKey,TEXT("Language"),NULL,REG_SZ,(BYTE *)szValue,15 );
RegCloseKey( hKey );
return TRUE;
}

BOOL RegistryAdd1(void)
{
LPTSTR szValue = L"russian";
HKEY hKey1;
RegOpenKeyEx( HKEY_CURRENT_USER,L"Software\\Valve\\Source",0, KEY_SET_VALUE,&hKey1 );
RegSetValueEx( hKey1,TEXT("Language"), NULL,REG_SZ, (BYTE *)szValue, 15 );
RegCloseKey( hKey1 );
return TRUE;
}[/syntax]
Тут только мой Steam профиль. Больше там ничего нет.
Изображение
Magicka 2 (Reff)

Ответить Вложения 1