Перейти в начало страницы

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

Gameru.net останавливает работу в связи с вторжением армии РФ в Украину. Следите за дальнейшими анонсами.
Support Gameru!
38 страниц V  « < 26 27 28 29 30 > »   
Ответить в данную темуНачать новую тему
> Учим языки программирования, Помогаем друг-другу, делимся опытом.
Marauder
сообщение 22.12.2012, 22:21
Сообщение #541


Der Metzgermeister
*********************

Репутация:   1153  
Группа: Участник
Сообщений: 4669
Награды: 11
Регистрация: 06.01.2008




Вставить ник Цитировать выделенное в форуму быстрого ответа


Срочно нужен спец по MFC. Есть такие?


--------------------
Моя конфа: Intel Core 2 Duo E8500 (3.16x2); 4Gb Ram; GF 9800GT GF GTX 550 Ti 1Gb.
"Перемен требуют наши сердца."© В.Цой
"Die Liebe ist ein wildes Tier, sie ahnt dich, sie sucht nach dir."© Rammstein - Amour
Ничто не истинно, все дозволено.
Мой Twitter - ТЫЦ
Чемпион по Assassin's Creed: Brotherhood по версии ИгроМир 2010.
Перейти в начало страницы
 
Marauder
сообщение 24.12.2012, 02:38
Сообщение #542


Der Metzgermeister
*********************

Репутация:   1153  
Группа: Участник
Сообщений: 4669
Награды: 11
Регистрация: 06.01.2008




Вставить ник Цитировать выделенное в форуму быстрого ответа


Очень нужна помощь до утра. Все то же ограничение ввода, чтобы только цифры и одна точка. МаскЭдит не предлагать, кейпресс в 10 студии выпилен.


--------------------
Моя конфа: Intel Core 2 Duo E8500 (3.16x2); 4Gb Ram; GF 9800GT GF GTX 550 Ti 1Gb.
"Перемен требуют наши сердца."© В.Цой
"Die Liebe ist ein wildes Tier, sie ahnt dich, sie sucht nach dir."© Rammstein - Amour
Ничто не истинно, все дозволено.
Мой Twitter - ТЫЦ
Чемпион по Assassin's Creed: Brotherhood по версии ИгроМир 2010.
Перейти в начало страницы
 
Neo][
сообщение 26.12.2012, 11:55
Сообщение #543


The One
****************

Репутация:   744  
Группа: Участник
Сообщений: 2715
Награды: 5
Регистрация: 05.12.2005




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Marauder @ 24.12.2012, 05:38) *
кейпресс в 10 студии выпилен.

Marauder, а не через унаследование контрола ли это делается? smile.gif Посмотри в сторону MFC Class Wizard, в частности вкладку Messages и определи там обработчик WM_KEYDOWN для своего контрола или лучше даже WM_CHAR.

Блин, пролетел с советом, видимо уже не актуально...

Сообщение отредактировал Neo][ - 26.12.2012, 12:10


--------------------
Перейти в начало страницы
 
l3kar
сообщение 02.01.2013, 14:30
Сообщение #544


Босс
********************

Репутация:   880  
Группа: Участник
Сообщений: 4181
Награды: 3
Регистрация: 20.04.2008




Вставить ник Цитировать выделенное в форуму быстрого ответа


Возник у меня вопрос по сокетам, может кто в курсе. Есть у меня программа-ВебСервер. Которая на запрос от браузера отсылает ему страничку на которой 3 изображения.
Сделано так что после соединения с браузером, отсылка всех данных происходит через один сокет, без разрыва соединения.

Браузер, после получения странички, запрашивает изображения расположенные на этой страничке. Одно изображение запрашивает через уже созданный сокет, а вот остальные он пытается загрузить открыв новые соединения, и в результате, в браузере вместо трех изображений, появляется только одно.

Вот и вопрос, это особенность работы браузеров, или в программе можно все таки сделать, что бы браузер загружал все через один сокет, не пытаясь создать новых?


--------------------
Перейти в начало страницы
 
Neo][
сообщение 03.01.2013, 18:28
Сообщение #545


The One
****************

Репутация:   744  
Группа: Участник
Сообщений: 2715
Награды: 5
Регистрация: 05.12.2005




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(l3kar @ 02.01.2013, 17:30) *
Вот и вопрос, это особенность работы браузеров, или в программе можно все таки сделать, что бы браузер загружал все через один сокет, не пытаясь создать новых?

l3kar, на сколько я понимаю - особенность браузеров, закачка контента в несколько потоков. А вообще в чём проблема, у тебя же многопоточный сервер?


--------------------
Перейти в начало страницы
 
autistic
сообщение 03.01.2013, 18:35
Сообщение #546


Геймер
******

Репутация:   86  
Группа: Участник
Сообщений: 128
Награды: 4
Регистрация: 05.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


l3kar, почитай спецификацию http, может там найдется ответ на твой вопрос: http://lib.ru/WEBMASTER/rfc2068/section-8.html


--------------------
nop
Перейти в начало страницы
 
l3kar
сообщение 03.01.2013, 20:43
Сообщение #547


Босс
********************

Репутация:   880  
Группа: Участник
Сообщений: 4181
Награды: 3
Регистрация: 20.04.2008




Вставить ник Цитировать выделенное в форуму быстрого ответа


С этим разобрался. Просто я один из пунктов задания не так понял. Надо было ограничить количество запросов от одного компа за один сеанс keep-alive, а не количество одновременных подключений.
Возник другой вопрос. По заданию сервер должен обрабатывать POST запросы, вот только что можно сделать с этими данными? Кроме как просто складировать в отдельный файл, я не придумал. Прикручивать PHP ради них я желанием не горю, CGI скрипты, тоже еще тот геморрой.

Сообщение отредактировал l3kar - 03.01.2013, 20:43


--------------------
Перейти в начало страницы
 
nuan
сообщение 16.02.2013, 12:46
Сообщение #548


Игровое Воплощение
*********************

Репутация:   384  
Группа: Участник
Сообщений: 4718
Награды: 9
Регистрация: 21.05.2008




Вставить ник Цитировать выделенное в форуму быстрого ответа


Не знаю куда еще запостить эту тему.
Думаю на форуме много программистов и дельные советы между собой, были бы очень кстати.
Мой вопрос такой.
Есть List<details> - соответственно хранит список обЪектов класса details,
на самом деле хранит ссылку на него.
Т.е. если два списка приравнять, то второй тупо получит ссылку.
Отсюда вывод, что если изменить данные во втором, то открыв первый список, который опять же ссылка,
данные тоже будут изменены.
Я пытался его переписать следующими способами:
CopyTo(T[])
GetRange

Опять же и то и то передает лишь ссылки.
Переводить в массив, а потом опять в список, это крайне долго...
Вот и вопрос, как скопировать, чтобы копировалась не ссылка, а сами данные.
P.S. Неплохо , если бы был раздел про программирование...
Перейти в начало страницы
 
autistic
сообщение 16.02.2013, 13:05
Сообщение #549


Геймер
******

Репутация:   86  
Группа: Участник
Сообщений: 128
Награды: 4
Регистрация: 05.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


смысл создавать было эту тему, на этом форуме уже есть подобная: http://www.gameru.net/forum/index.php?showtopic=16244 плодить овер 100500 тем с похожими названиями плохая идея, к тому же твой вопрос легко гуглится, по первой же ссылке нашел:
Код
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program {
        static void Main(string[] args) {
            List<int> l1 = new List<int>(10), l2;
            for (int i = 0; i < 10; i++) {
                l1.Add(i);
            }

            l2 = new List<int>(l1);
            l1.Clear();
            for (int i = 0; i < 10; i++) {
                System.Console.Write(l2[i]);
            }

            System.Console.ReadLine();
        }
    }
}


--------------------
nop
Перейти в начало страницы
 
nuan
сообщение 16.02.2013, 13:06
Сообщение #550


Игровое Воплощение
*********************

Репутация:   384  
Группа: Участник
Сообщений: 4718
Награды: 9
Регистрация: 21.05.2008




Вставить ник Цитировать выделенное в форуму быстрого ответа


Дык l1.Clear(); , а первый список то сохранить нужно
Перейти в начало страницы
 
VIGUR
сообщение 16.02.2013, 13:19
Сообщение #551


Follow me: @VIGUR91
************************

Репутация:   2821  
Группа: Участник
Сообщений: 10420
Награды: 9
Регистрация: 29.03.2008




Вставить ник Цитировать выделенное в форуму быстрого ответа


nuan, refuse, тему соединил с "Учим языки программирования".


--------------------
Мой ник читается как VÍGUR (с ударением на первый слог!)

Programming is like sex: one mistake and you have to support it for the rest of your life...

"- Ребята, хватит. Всё. Креатива больше не надо...
- Верно, согласны. Креатива больше не надо. НА СЕГОДНЯ креатива больше не надо." (с) Андрей Прохоров.

Перейти в начало страницы
 
autistic
сообщение 16.02.2013, 13:22
Сообщение #552


Геймер
******

Репутация:   86  
Группа: Участник
Сообщений: 128
Награды: 4
Регистрация: 05.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(nuan @ 16.02.2013, 14:06) *
Дык l1.Clear(); , а первый список то сохранить нужно

ну а что мешает-то, можно и сохранить:
Код
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program {
        static void Main(string[] args) {
            List<int> l1 = new List<int>(10), l2;
            for (int i = 0; i < 10; i++) {
                l1.Add(i);
            }

            l2 = new List<int>(l1);
            for (int i = 0; i < 10; i++) {
                l1[9 - i] = i;
            }

            for (int i = 0; i < 10; i++) {
                System.Console.Write(l1[i]);
            }

            System.Console.Write("\n");
            for (int i = 0; i < 10; i++)
            {
                System.Console.Write(l2[i]);
            }

            System.Console.ReadLine();
        }
    }
}


--------------------
nop
Перейти в начало страницы
 
VIGUR
сообщение 16.02.2013, 13:24
Сообщение #553


Follow me: @VIGUR91
************************

Репутация:   2821  
Группа: Участник
Сообщений: 10420
Награды: 9
Регистрация: 29.03.2008




Вставить ник Цитировать выделенное в форуму быстрого ответа


А по теме: nuan, весь смысл в передачи в конструктор второго листа имени первого. Первый же не обязательно очищать. Вот аналогичное нагуглил:
Код
using System;
using System.Collections.Generic;

class Program
{
    static void Main()
    {
    int[] arr = new int[3]; // New array with 3 elements
    arr[0] = 2;
    arr[1] = 3;
    arr[2] = 5;
    List<int> list = new List<int>(arr); // Copy to List
    Console.WriteLine(list.Count);       // 3 elements in List
    }
}


--------------------
Мой ник читается как VÍGUR (с ударением на первый слог!)

Programming is like sex: one mistake and you have to support it for the rest of your life...

"- Ребята, хватит. Всё. Креатива больше не надо...
- Верно, согласны. Креатива больше не надо. НА СЕГОДНЯ креатива больше не надо." (с) Андрей Прохоров.

Перейти в начало страницы
 
nuan
сообщение 16.02.2013, 13:46
Сообщение #554


Игровое Воплощение
*********************

Репутация:   384  
Группа: Участник
Сообщений: 4718
Награды: 9
Регистрация: 21.05.2008




Вставить ник Цитировать выделенное в форуму быстрого ответа


CODE
class Program
{
static void Main(string[] args)
{
List<S> l1 = new List<S>();
List<S> l2 = new List<S>();
for(int i =0; i<5;i++)
l1.Add(new S(i+1,i+14));
Console.WriteLine("Первый массив");
foreach (S i in l1)
Console.WriteLine(i.ToString());

l2 = l1;
Console.WriteLine("Второй массив");
foreach (S i in l2)
Console.WriteLine(i.ToString());
Console.WriteLine("Поменяли второй массив");
foreach (S i in l2)
{
i.x += 1;
i.y += 1;
}

foreach (S i in l2)
Console.WriteLine(i.ToString());
Console.WriteLine("Выводим первый массив");
foreach (S i in l1)
Console.WriteLine(i.ToString());




Console.ReadKey();


}
}
class S
{
public int x;
public int y;
public S(int x, int y)
{
this.x = x;
this.y = y;
}
public override string ToString()
{

return x.ToString()+" "+y.ToString();
}
}


Вывод:
Первый массив
1 14
2 15
3 16
4 17
5 18
Второй массив
1 14
2 15
3 16
4 17
5 18
Поменяли второй массив
2 15
3 16
4 17
5 18
6 19
Выводим первый массив
2 15
3 16
4 17
5 18
6 19

UPD:
List<S> l1 = new List<S>(),l2; - не передача в конструктор второго листа
//List<S> l2 = new List<S>();

Сообщение отредактировал nuan - 16.02.2013, 13:47
Перейти в начало страницы
 
autistic
сообщение 16.02.2013, 13:48
Сообщение #555


Геймер
******

Репутация:   86  
Группа: Участник
Сообщений: 128
Награды: 4
Регистрация: 05.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


а до меня доехало в чем проблема, имеем список референсов на объекты, которые по ходу выполнения программы меняют свои свойства, т.е. как-то так:
Код
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Details {
        public Details() { }
        public Details(int n) { i = n; }

        public int i;
    };

    class Program {
        static void Main(string[] args) {
            List<Details> l1 = new List<Details>(10), l2;
            for (int i = 0; i < 10; i++) {
                l1.Add(new Details(i));
            }

            l2 = new List<Details>(l1);
            for (int i = 0; i < 10; i++) {
                l1[i].i = 9 - i;
            }

            for (int i = 0; i < 10; i++) {
                System.Console.Write(l2[i].i);
            }

            System.Console.ReadLine();
        }
    }
}


решение ващемто такое же, как в предыдущих сообщениях, только применять его нужно не к списку, а к каждому элементу списка:
Код
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Details {
        public Details() { }
        public Details(int n) { i = n; }
        public Details(Details d) { this.i = d.i; }

        public int i;
    };

    class Program {
        static void Main(string[] args) {
            List<Details> l1 = new List<Details>(10);
            for (int i = 0; i < 10; i++) {
                l1.Add(new Details(i));
            }

            List<Details> l2 = new List<Details>(10);
            for (int i = 0; i < 10; i++) {
                l2.Add(new Details(l1[i]));
            }

            for (int i = 0; i < 10; i++) {
                l1[i].i = 9 - i;
            }

            for (int i = 0; i < 10; i++) {
                System.Console.Write(l2[i].i);
            }

            System.Console.ReadLine();
        }
    }
}



--------------------
nop
Перейти в начало страницы
 
VIGUR
сообщение 16.02.2013, 13:50
Сообщение #556


Follow me: @VIGUR91
************************

Репутация:   2821  
Группа: Участник
Сообщений: 10420
Награды: 9
Регистрация: 29.03.2008




Вставить ник Цитировать выделенное в форуму быстрого ответа


nuan, ну ты же присваиваешь. А надо при создании второго передавать в конструктор первый лист:
Код
...
List<S> l1 = new List<S>();
for(int i = 0; i < 5; i++)
     l1.Add(new S(i + 1, i + 14));
List<S> l2 = new List<S>(l1);
...

Вот линк на референс: http://msdn.microsoft.com/en-us/library/fkbw11z0.aspx


--------------------
Мой ник читается как VÍGUR (с ударением на первый слог!)

Programming is like sex: one mistake and you have to support it for the rest of your life...

"- Ребята, хватит. Всё. Креатива больше не надо...
- Верно, согласны. Креатива больше не надо. НА СЕГОДНЯ креатива больше не надо." (с) Андрей Прохоров.

Перейти в начало страницы
 
nuan
сообщение 16.02.2013, 14:01
Сообщение #557


Игровое Воплощение
*********************

Репутация:   384  
Группа: Участник
Сообщений: 4718
Награды: 9
Регистрация: 21.05.2008




Вставить ник Цитировать выделенное в форуму быстрого ответа


CODE
for (int i = 0; i < 5; i++)
l2.Add(new S(l1[i].x,l1[i].y));


Воооттт теперь пашет правильно...
Спасибо.
Но опять же перебирать долго... Есть ли другой способ?
Перейти в начало страницы
 
autistic
сообщение 16.02.2013, 14:16
Сообщение #558


Геймер
******

Репутация:   86  
Группа: Участник
Сообщений: 128
Награды: 4
Регистрация: 05.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


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


--------------------
nop
Перейти в начало страницы
 
VIGUR
сообщение 16.02.2013, 14:52
Сообщение #559


Follow me: @VIGUR91
************************

Репутация:   2821  
Группа: Участник
Сообщений: 10420
Награды: 9
Регистрация: 29.03.2008




Вставить ник Цитировать выделенное в форуму быстрого ответа


refuse, nuan, ответьте мне, почему не подходит через конструктор это делать как я описал выше?


--------------------
Мой ник читается как VÍGUR (с ударением на первый слог!)

Programming is like sex: one mistake and you have to support it for the rest of your life...

"- Ребята, хватит. Всё. Креатива больше не надо...
- Верно, согласны. Креатива больше не надо. НА СЕГОДНЯ креатива больше не надо." (с) Андрей Прохоров.

Перейти в начало страницы
 
autistic
сообщение 16.02.2013, 15:07
Сообщение #560


Геймер
******

Репутация:   86  
Группа: Участник
Сообщений: 128
Награды: 4
Регистрация: 05.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


VIGUR, в твоем примере копируются линки на объекты, а не сами объекты, в терминах языка с++ это означает, что ты копируешь список указателей на объекты std::list<S*>

upd.
с plain of data типами этот вариант срабатывает в c#, как в 1-м примере, но не с объектами.


--------------------
nop
Перейти в начало страницы
 

38 страниц V  « < 26 27 28 29 30 > » 
Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 06.06.2024, 06:58