[ C# / Java ] — начинающим: задаем вопросы

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by procedure, 2 Nov 2008.

  1. GhostOnline

    GhostOnline Active Member

    Joined:
    20 Dec 2008
    Messages:
    759
    Likes Received:
    110
    Reputations:
    22
    PaCo немного не понял что это даст
    Я решил сделать так:
    Объявить интерфейс с методами A B C который реализуют ClassA, и создать абстрактный класс для прокси который хранит ссылку на объект типа ClassA и также реализует этот интерфейс. Ну а там дальше "конкретные" прокси будут реализовывать нужную фунциональность и переадресовывать запросы к "настоящему" объекту. Ну а в самом коде объявлять уже не конкретно как класс, а как интерфейс.
    То бишь:
    PHP:
                IClassA obj;
    #if LOG
                
    obj = new Logger();
    #elif MutliThread
                
    obj = new ThreadSabe();
    #else
                
    obj = new ClassA();
    #endif
    Сама комбинация прокси будет добавлять простым созданием классов.

    PS почему это я сразу не додумался использовать интерфейс :rolleyes:
     
  2. PaCo

    PaCo Elder - Старейшина

    Joined:
    6 Feb 2008
    Messages:
    510
    Likes Received:
    139
    Reputations:
    25
    Есть уверенность что это вообще там необходимо? В таком подходе видятся черты большого количества антипатернов + может вызвать чувство когнитивного хаоса у стороннего человека(да и у самого разраб..дчика через время).
     
  3. [х26]VОLАND

    [х26]VОLАND Elder - Старейшина

    Joined:
    7 Jun 2006
    Messages:
    587
    Likes Received:
    758
    Reputations:
    218
    Крашится программа при запуске на WinXP SP3 .net 4.0
    "Обнаружена ошибка. Приложение будет закрыто".

    Программа написана под .net 2.0

    Участок кода:
    MessageBox.Show("1"); - показывает.
    MessageBox.Show("2"); - уже нет.

    На win7 всё нормально.

    В чём может быть дело?
     
  4. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    994
    Likes Received:
    289
    Reputations:
    43
    System.Windows.Forms.MessageBox.Show("1");
    InitializeComponent();
    }
    .....

    private void InitializeComponent()
    {
    System.Windows.Forms.MessageBox.Show("2");
    ...
    }

    InitializeComponent?!?!?!?!!
    логично будет падать, найди этот метод в Design.cs. Его вообще переопределять и перекрывать нельзя.
     
  5. [х26]VОLАND

    [х26]VОLАND Elder - Старейшина

    Joined:
    7 Jun 2006
    Messages:
    587
    Likes Received:
    758
    Reputations:
    218
    Это и есть автоматически сгенерированный метод. я его не переопределял.
     
  6. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    994
    Likes Received:
    289
    Reputations:
    43
    Кстати, забыл сказать.

    4.0 не содержит в себе 2-й фреймворк
     
  7. Isis

    Isis Мафиозя //хекед :D

    Joined:
    20 Nov 2006
    Messages:
    3,484
    Likes Received:
    1,206
    Reputations:
    252
    C#

    работа с MySQL

    PHP:
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Data;
    using System.Windows.Forms;

    namespace 
    Expl
    {
        public class 
    Mysql
        
    {
            public static 
    void Connect(string Hoststring Portstring Usernamestring Passwordstring Database)
            {
                
    MySqlLib.MySqlData.MySqlExecuteData.MyResultData result = new MySqlLib.MySqlData.MySqlExecuteData.MyResultData();

                
    string param "Database=" Database ";Data Source=" Host ";User Id=" Username ";Password=" Password ";port=" Port;
                
    result MySqlLib.MySqlData.MySqlExecuteData.SqlReturnDataset("select * from google"param);

                if (
    result.HasError == false)
                {
                    
    MessageBox.Show(result.ResultData.Rows.Count.ToString());
                }
                else
                {
                    
    MessageBox.Show(result.ErrorText);
                }
            }
        }
    }
    Собственно данный код выводит кол-во полученных данных.

    Вопрос:
    Как мне сделать на сишарпе что-то похожее на:
    PHP:
    if (mysql_num_rows($query))
    {
     while(
    $rowmysql_fetch_array($query))
     {
         echo 
    $row['name'];
     }
    }
     
  8. W!z@rD

    W!z@rD Борец за русский язык

    Joined:
    12 Feb 2006
    Messages:
    994
    Likes Received:
    289
    Reputations:
    43
    MySqlDataReader, должно быть что-то вроде такого, т.е. производный от класса DbDataReader.

    http://www.devart.com/dotconnect/mysql/docs/Devart.Data.MySql~Devart.Data.MySql.MySqlDataReader.html

    А вот и он +)
     
  9. Isis

    Isis Мафиозя //хекед :D

    Joined:
    20 Nov 2006
    Messages:
    3,484
    Likes Received:
    1,206
    Reputations:
    252
    W!z@rD, Мне бы все-таки хотелось через MySqlLib / MySQL.Data
     
  10. Jakeroid

    Jakeroid Member

    Joined:
    9 May 2009
    Messages:
    213
    Likes Received:
    12
    Reputations:
    0
    Code:
            public Byte[] AddMultiPartFile(string filename, string filetype, Byte[] fileContent, string boundary)
            {
                string outputStr == "--" + boundary + "\r\n";
                output += "Content-Disposition: form-data; name=\"file\"; filename=\"" + filename + "\"\r\n";
                output += "Content-Type: " + filetype + "\r\n\r\n";
                Byte[] output = Encoding.Default.GetBytes(outputStr);
    [COLOR=DarkGreen][B]//Здесь нужно к масиву байт output прицепить еще входные байты файла, как реазизовать?
    //Функция должна вернуть почти готовые данные для multipart/form-data[/B][/COLOR]
            }
    Если есть другие советы по реализации, прошу в студию - спасибо.
     
  11. UnameR

    UnameR New Member

    Joined:
    23 Jun 2010
    Messages:
    10
    Likes Received:
    1
    Reputations:
    0
    Приветствую.

    Пытаюсь передать POST запрос на сервер, запрос отправляется, но вот никак не пойму как получить результирующую(вернувшуюся в ответ) страницу.
    c#:
    Code:
    WebClient qwe = new WebClient();
    NameValueCollection data = new NameValueCollection();
    data.Add("login", "***");
    data.Add("password", "***");
    qwe.UploadValuesAsync(new Uri("http://***"), "POST", data);
    
    qwe.UploadValues делает это(возвращает страницу) замечательно, но вот с асинхронностью будет лучше выглядеть все это.

    Смотрел
    qwe.UploadProgressChanged
    и
    qwe.UploadValuesCompleted,
    но не нашёл в них ничего нужного. Очень удивило, что в Completed только возвращение ошибки... как же получить страницу?
     
  12. UnameR

    UnameR New Member

    Joined:
    23 Jun 2010
    Messages:
    10
    Likes Received:
    1
    Reputations:
    0
    ппц Я днём все перерыл. Ну не было у UploadValuesCompletedEventArgs варианта Result...
    У UploadFileCompletedEventArgs был, у этого не было...

    Сейчас попробовал... есть... мистика прям...
    о_0
    спрашивается, где я тогда смотрел?

    ну ладно

    Спасибо большое:)
     
  13. Ice_VeNOm

    Ice_VeNOm Member

    Joined:
    5 Sep 2009
    Messages:
    43
    Likes Received:
    9
    Reputations:
    0
    Доброго времени суток.
    Подскажите аналог c#'овского backgroundworker'а на Java
    Т.е. При выполнении нажатия на кнопку форма на некоторое время виснет, а пользователю необходимо в это время с ней работать. Как решается эта проблема? Использую jFrame.
     
  14. Jakeroid

    Jakeroid Member

    Joined:
    9 May 2009
    Messages:
    213
    Likes Received:
    12
    Reputations:
    0
    Переформулирую вопрос.
    Как сложить два массива байт? То есть не каждый элемент первого массива с каждым элементом второго массива соответственно, а добавить второй массив в конец?
    Например есть массив a[] и b[].
    a[] равен:
    010101
    b[] равен:
    1111
    Результат должен быть такой:
    0101011111.

    Имею ввиду, стандартные средства или методы.
    С помощью цикла и я сам могу.
     
    #914 Jakeroid, 18 Mar 2011
    Last edited: 18 Mar 2011
  15. dpe_x

    dpe_x Elder - Старейшина

    Joined:
    8 Sep 2010
    Messages:
    180
    Likes Received:
    35
    Reputations:
    14
    c#

    есть массив..
    как из него рандомно вырвать элемент ?
     
  16. AlexTheC0d3r

    AlexTheC0d3r Elder - Старейшина

    Joined:
    25 Jul 2008
    Messages:
    451
    Likes Received:
    179
    Reputations:
    18
    у класса Array есть методы Copy: http://msdn.microsoft.com/ru-ru/library/k4yx47a1.aspx
    и CopyTo: http://msdn.microsoft.com/ru-ru/library/06x742cw.aspx

    то, что тебе нужно
     
  17. AlexTheC0d3r

    AlexTheC0d3r Elder - Старейшина

    Joined:
    25 Jul 2008
    Messages:
    451
    Likes Received:
    179
    Reputations:
    18
    Code:
    Random rand = new Random();
    object a = array[rand.Next(array.Length)];
     
    1 person likes this.
  18. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    662
    Likes Received:
    133
    Reputations:
    18
    SwingWorker
     
  19. tembi4.90

    tembi4.90 New Member

    Joined:
    8 Oct 2009
    Messages:
    25
    Likes Received:
    2
    Reputations:
    0
    здравствуйте, можно ли как-то форму html конвертировать в винформ?
     
  20. BrainDeaD

    BrainDeaD Elder - Старейшина

    Joined:
    9 Jun 2005
    Messages:
    785
    Likes Received:
    293
    Reputations:
    214
    как-то видел конвертер html to asp. для winforms такого не встречал.
     
Loading...