Вопросы и ответы по программированию.
- Shlak
- Эксперты no-Steam
- Сообщения: 1940
- Зарегистрирован: 24.04.2011
- Откуда: Рязань
- Благодарил (а): 97 раз
- Поблагодарили: 548 раз
- Контактная информация:
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]
Код для 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]
- kinders666
- Модератор
- Сообщения: 4163
- Зарегистрирован: 25.10.2006
- Откуда: Москва
- Благодарил (а): 537 раз
- Поблагодарили: 191 раз
- nikit-xxx
- Лейтенант
- Сообщения: 208
- Зарегистрирован: 28.11.2007
- Благодарил (а): 44 раза
- Поблагодарили: 5 раз
как в jav`е сделать несколько независимых друг от друга итераторов для одной коллекции? можно ли вообще так сделать?
Откуда иксы в моём нике
Использование тэга подсветки синтаксиса
- nikit-xxx
- Лейтенант
- Сообщения: 208
- Зарегистрирован: 28.11.2007
- Благодарил (а): 44 раза
- Поблагодарили: 5 раз
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]
в методе, получившем итератор как параметр, мне надо его клонировать(чтобы иметь итератор в изначальном состоянии, когда он указывает на начальный элемент 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]
Откуда иксы в моём нике
Использование тэга подсветки синтаксиса
-
- Разработчик
- Сообщения: 910
- Зарегистрирован: 09.01.2009
- Откуда: Переезжаю в /dev/null
- Благодарил (а): 7 раз
- Поблагодарили: 65 раз
- Контактная информация:
nikit-xxx
Понятно. Так в java (безопасно) делать нельзя.
Если очень надо, можно попробовать докастить итератор до какого-то типа, для которого определён clone() (такое по идее возможно, но копать не хочу).
А вообще, такая штука не должна возникать - скорее всего вы делаете что-то неправильно. Почему бы не передавать саму коллекцию как Iterable<E> и уже от неё брать итераторы?
Если работать нужно конкретно с ArrayList, то там вообще лучше использовать list.get(i); и c-подобный цикл чем итераторы, потому что это быстрее.
Понятно. Так в java (безопасно) делать нельзя.
Если очень надо, можно попробовать докастить итератор до какого-то типа, для которого определён clone() (такое по идее возможно, но копать не хочу).
А вообще, такая штука не должна возникать - скорее всего вы делаете что-то неправильно. Почему бы не передавать саму коллекцию как Iterable<E> и уже от неё брать итераторы?
Если работать нужно конкретно с ArrayList, то там вообще лучше использовать list.get(i); и c-подобный цикл чем итераторы, потому что это быстрее.
- Monk
- VIP
- Сообщения: 4713
- Зарегистрирован: 21.11.2009
- Благодарил (а): 418 раз
- Поблагодарили: 1053 раза
- Контактная информация:
Использую плагин http://livehttpheaders.mozdev.org/ для просмотра запросов.
Недавно выловил вот такой:Каким образом выполнять такой запрос?
ПС: предпросмотр сообщения на ксм плагин показал вот так к примеру:
Недавно выловил вот такой:
Скрытый текст
ПС: предпросмотр сообщения на ксм плагин показал вот так к примеру:
Скрытый текст
-
- Разработчик
- Сообщения: 910
- Зарегистрирован: 09.01.2009
- Откуда: Переезжаю в /dev/null
- Благодарил (а): 7 раз
- Поблагодарили: 65 раз
- Контактная информация:
Это 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
- Сообщения: 4713
- Зарегистрирован: 21.11.2009
- Благодарил (а): 418 раз
- Поблагодарили: 1053 раза
- Контактная информация:
Угу, мультипарт нужен был, более того. Извращенцы.
-
- Капитан
- Сообщения: 459
- Зарегистрирован: 25.02.2007
- Благодарил (а): 22 раза
- Поблагодарили: 33 раза
- Контактная информация:
Хочу научить программу считывать информацию с Steam CDR, есть какие-то библиотеки для работы с ним?
- $t@t!c_V()1D
- Разработчик
- Сообщения: 2639
- Зарегистрирован: 06.12.2007
- Благодарил (а): 10 раз
- Поблагодарили: 29 раз
testncrash
CDR - прошлый век...ну уходящий уж точно. Сейчас модно читатьКафку, Коэльо Appinfo.vdf - там сейчас основная информация. CDR, возможно, понадобится только для распаковки SID, ибо Valve все свои и, кажется, вдобавок ещё и другие выпущенные на Source игры будет переводить на SteamPipe.
CDR - прошлый век...ну уходящий уж точно. Сейчас модно читать
Another guy on them internets
Уважайте команду CSMania.RU - задавайте вопросы правильно!
Уважайте команду CSMania.RU - задавайте вопросы правильно!
-
- Капитан
- Сообщения: 459
- Зарегистрирован: 25.02.2007
- Благодарил (а): 22 раза
- Поблагодарили: 33 раза
- Контактная информация:
$t@t!c_V()1D
Спасибо за наводку, буду сидеть разбираться. Благо по формату хоть инфа есть.
Спасибо за наводку, буду сидеть разбираться. Благо по формату хоть инфа есть.
- Pr0Ger
- Модератор
- Сообщения: 1829
- Зарегистрирован: 16.01.2009
- Благодарил (а): 17 раз
- Поблагодарили: 214 раз
- Контактная информация:
Вообщем, стоит такая задача, есть сервер который отдает списки определенных объектов в JSON. Нужно все это в фоне подгружать и представлять уже в виде списка жавовских объектов (по сути просто обертка, чтобы не писать постоянно JSONObject.get(key)). Собственно, делаю для этого такую штуку (все возможные объекты занаследованы от Base, для удобства)
Вопрос в том, как сделать из одинаковых JSONObject эти разные объекты. Напрямую инстанцировать класс D без костылей не получится, добавить статический метод в эти классы, который будет возвращать инстанс созданного класса тоже не получится, потому что статические методы нельзя переопределить.
Есть вариант все это переделать так, что всегда будет возвращаться List<Base>, и добавить параметр, который как раз будет указывать какие классы делать (по сути такую фабрику сделать), заодно этот параметр использовать для генерации адреса, откуда берем данные. Но как то это перегружено получится, может есть другой путь?
Код: Выделить всё
class AbstractRestLoader<D extends Base> extends AsyncTaskLoader<List<D>>
Есть вариант все это переделать так, что всегда будет возвращаться List<Base>, и добавить параметр, который как раз будет указывать какие классы делать (по сути такую фабрику сделать), заодно этот параметр использовать для генерации адреса, откуда берем данные. Но как то это перегружено получится, может есть другой путь?
- Shlak
- Эксперты no-Steam
- Сообщения: 1940
- Зарегистрирован: 24.04.2011
- Откуда: Рязань
- Благодарил (а): 97 раз
- Поблагодарили: 548 раз
- Контактная информация:
Проблема с изменением параметра в реестре: 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]
Как только не пробовал — не получается.
Да, я знаю что написано коряво и далеко не всё, но в первую очередь мне нужно чтобы это работало.
[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]