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

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

  1. Spot

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

    Joined:
    1 Mar 2007
    Messages:
    461
    Likes Received:
    38
    Reputations:
    1

    ТЫЦ1 скроль вниз там будет пример отрисовки по точкам.
    ТЫЦ2 здесь описан DashStyle.
    ТЫЦ3 о координатах мышки.

    Внимание вопрос: это все выдаёт на первых 3 заголовках гугла. Я так понимаю ты вообще поисковик и не пытался юзать?
     
    #1321 Spot, 28 Apr 2012
    Last edited: 28 Apr 2012
  2. moodoone

    moodoone Member

    Joined:
    21 Oct 2009
    Messages:
    144
    Likes Received:
    38
    Reputations:
    5
    Юзал, но это мне не очень помогло.
    p.s.
    Нашел уже готовый пример.
    Спасибо
     
  3. FraWn

    FraWn New Member

    Joined:
    8 Feb 2012
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Ошибка в программе при запуске на других компьютерах

    Здорова!
    Пишу программу. В момент экспорта с датагридвью в экзель выскакивает такая ошибка

    System.Runtime.InteropServices.COMException (0x80040154): Не удалось получить фабрику класса COM для компонента с CLSID {00024500-0000-0000-C000-000000000046} из-за следующей ошибки: 80040154 Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
    в System.RuntimeTypeHandle.CreateInstance(RuntimeType type, Boolean publicOnly, Boolean noCheck, Boolean& canBeCached, RuntimeMethodHandleInternal& ctor, Boolean& bNeedSecurityCheck)
    в System.RuntimeType.CreateInstanceSlow(Boolean publicOnly, Boolean skipCheckThis, Boolean fillCache)
    в System.RuntimeType.CreateInstanceDefaultCtor(Boolean publicOnly, Boolean skipVisibilityChecks, Boolean skipCheckThis, Boolean fillCache)
    в System.Activator.CreateInstance(Type type, Boolean nonPublic)
    в System.Activator.CreateInstance(Type type)
    в Паспорт.Form1.export_btn_Click(Object sender, EventArgs e)
    в System.Windows.Forms.Control.OnClick(EventArgs e)
    в System.Windows.Forms.Button.OnClick(EventArgs e)
    в System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
    в System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
    в System.Windows.Forms.Control.WndProc(Message& m)
    в System.Windows.Forms.ButtonBase.WndProc(Message& m)
    в System.Windows.Forms.Button.WndProc(Message& m)
    в System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
    в System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
    в System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
     
  4. Hack_ERR++

    Hack_ERR++ Member

    Joined:
    13 Aug 2009
    Messages:
    41
    Likes Received:
    9
    Reputations:
    0
    Как в C# можно поочередно отправить сначала GET, затем POST запрос, не разрывая соединения? HttpWebRequest или WebClient - не важно.
     
  5. Spot

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

    Joined:
    1 Mar 2007
    Messages:
    461
    Likes Received:
    38
    Reputations:
    1
    Ты имеешь ввиду параллельно? Если да - то создай отдельный трид и уже по ситуации делай их синхронными или асинхронными в зависимости от надобности.
    Если просто поочередно отправить запросы, то просто не закрывай соединение и шли новый смотрим , но не закрывай ответ.
     
  6. Hack_ERR++

    Hack_ERR++ Member

    Joined:
    13 Aug 2009
    Messages:
    41
    Likes Received:
    9
    Reputations:
    0
    Просто поочередно надо.

    Делаю так:

    Code:
    /*сначала гет*/	
    HttpWebRequest reqg = (HttpWebRequest)System.Net.WebRequest.Create("сайт");
    HttpWebResponse resp = (HttpWebResponse)reqg.GetResponse();
    System.IO.Stream stream = resp.GetResponseStream();
    System.IO.StreamReader sr = new System.IO.StreamReader(stream);
    string st = sr.ReadToEnd();
    /*потом пост*/
    reqg.Method = "POST";
    reqg.Timeout = 100000;
    reqg.ContentType = "application/x-www-form-urlencoded";
    byte[] sentData = Encoding.GetEncoding(1251).GetBytes("запрос");
    reqg.ContentLength = sentData.Length;
    System.IO.Stream sendStream = reqg.GetRequestStream();
    sendStream.Write(sentData, 0, sentData.Length);
    sendStream.Close();
    
    ругается на reqg.ContentLength = sentData.Length (Это свойство не может быть установлено после того, как началась запись.). Если для поста сделать отдельный WebRequest.Create, ошибок нет, но и результата тоже.
     
  7. Spot

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

    Joined:
    1 Mar 2007
    Messages:
    461
    Likes Received:
    38
    Reputations:
    1

    Ну так тебе нужно создать второй запрос, а ты его не создаешь - ты делаешь так: Создал запрос, считал ответ, переприсвоил вариант метода и всё. Тебе нужно создать полностью новый запрос для поста new() .
    Я так понимаю, что нужно зайти на сайт Постом, получить данные печеньки или хз что там, и после чего сделать ещё один запрос, на этот раз Гет?
     
  8. Hack_ERR++

    Hack_ERR++ Member

    Joined:
    13 Aug 2009
    Messages:
    41
    Likes Received:
    9
    Reputations:
    0
    наоборот, сначала гет, затем пост.

    Создавал - ошибки нет, но результат уже не тот. Там в коде страницы есть что-то вроде key, вот его мне нужно считать. Если сделать так:

    Code:
    HttpWebRequest reqg = (HttpWebRequest)System.Net.WebRequest.Create("сайт");
    HttpWebResponse resp = (HttpWebResponse)reqg.GetResponse();
    System.IO.Stream stream = resp.GetResponseStream();
    System.IO.StreamReader sr = new System.IO.StreamReader(stream);
    string st = sr.ReadToEnd();
    [B]HttpWebRequest req = (HttpWebRequest)System.Net.WebRequest.Create("сайт");[/B] //новый запрос
    req.Method = "POST";
    req.Timeout = 100000;
    req.ContentType = "application/x-www-form-urlencoded";
    byte[] sentData = Encoding.GetEncoding(1251).GetBytes("запрос");
    req.ContentLength = sentData.Length;
    System.IO.Stream sendStream = reqg.GetRequestStream();
    sendStream.Write(sentData, 0, sentData.Length);
    sendStream.Close();
    
    и, скажем, в textbox1 и textbox2 считать коды страниц после GET и после POST - они различаются, т.е. различается мой key.
     
  9. seosimf

    seosimf Member

    Joined:
    3 Mar 2011
    Messages:
    271
    Likes Received:
    44
    Reputations:
    6
    @Hack_ERR++ ну тк там наверно этот key зависит от cookie, а ты их не передаешь. Вообще вопрос задан очень сумбурно, сформулируй правильно вопрос и я уверен что ты сам сможешь на него ответить.
     
  10. Spot

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

    Joined:
    1 Mar 2007
    Messages:
    461
    Likes Received:
    38
    Reputations:
    1

    Как я уже писал выше - скорей всего в печеньках дело. Если так - то их нужно передавать вместе с запросом.
     
  11. Jakeroid

    Jakeroid Member

    Joined:
    9 May 2009
    Messages:
    199
    Likes Received:
    12
    Reputations:
    1
    Что значит не разрывая соединения? Тебе нужно что бы сокет не дисконектился или что сессия сохранилась?
     
  12. Vladislav88

    Vladislav88 New Member

    Joined:
    5 Dec 2011
    Messages:
    40
    Likes Received:
    1
    Reputations:
    0
    Скажите для чего используется static в java? Сколько в гугле не искал до конца не понял. Как я понимаю если данные используются один раз в прогорамме они должны быть static , а если я не обьявлю их static что будет? А еще для чего нужен static? Где можно найти подробную информацию для начинающих?
    Заранее благодарен за ответ.
     
  13. cramp

    cramp New Member

    Joined:
    10 Jan 2012
    Messages:
    19
    Likes Received:
    3
    Reputations:
    0
    Code:
    class MyClass
    {
         static public int A;
         public int B;
    }
    
    //к статическому полю можно обращаться через имя КЛАССА, не создавая экземпляр
    MyClass.A = 100500;
    
    //чтобы обратиться к нестатическому полю класса, нужно обязательно создать экземпляр объекта, и это поле будет своё у каждого экземпляра
    
    MyClass MyObject= new MyClass();
    MyObject.B = 31337;
    
    в гугле полно инфы, учебников. Гугли, читай, воруй, убивай
     
  14. Vladislav88

    Vladislav88 New Member

    Joined:
    5 Dec 2011
    Messages:
    40
    Likes Received:
    1
    Reputations:
    0
    cramp спасибо за ответ. Я еще погуглю , может шире пойму.
     
  15. no.Rem

    no.Rem New Member

    Joined:
    8 Apr 2012
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Вообщем начал писать простенький чекер мыл на Java , увидел на оракле спец класс для работы с почтой, всё вродебы нормально, но одна проблема , метод getFrom()(возвращает отправилтеля письма) работает слииишком долго , помогите пожалуйста разобратьсяс этой проблемой.

    П.С. ногами не бейте на джаве недавно начал писать)


     
  16. return

    return New Member

    Joined:
    23 Oct 2010
    Messages:
    125
    Likes Received:
    3
    Reputations:
    1
    no.Rem на какой почтовик коннектишся? И в чём проблема то, то что долго getFrom() работает? Если долго то может зависеть от сервера или ещё куча нюансов. И код наверное взят с какого то примера, так как StringTokenizer прошлый век и не используется.
     
  17. no.Rem

    no.Rem New Member

    Joined:
    8 Apr 2012
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    на mail.ru , да , getFrom() работат очень долго, , может вы посоветуете какие нибдь алтернативы) , а что сейчас вместо StringTokenizer используют? О_О
     
  18. return

    return New Member

    Joined:
    23 Oct 2010
    Messages:
    125
    Likes Received:
    3
    Reputations:
    1
    no.Rem когда работаю на ява с интернетом то заставляют смотреть более надёжные либы с apache, там как раз и примеры есть, вот взгялни http://commons.apache.org/email/userguide.html
    а на счёт StringTokenizer то сейчас используют регулярные выражения, принцип один и тот же но в виду надёжности Sun не рекомендует использовать StringTokenizer.
    И позволь ещё немного покритиковать:
    1) Обязательно используй многопоточность, тут она просто необходима (возможно из-за его отсутствия приложения тормозит);
    2) Не понимаю зачем использовать в консольном приложении компонент SWING'а.
     
    #1338 return, 4 Jun 2012
    Last edited: 4 Jun 2012
  19. ndjkvbf

    ndjkvbf New Member

    Joined:
    6 Jun 2012
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте. У меня вопрос по отправке POST-запросов, гуглил много, но без недели-другой на теорию тут не обойдется, а такая функция нужна сейчас.
    Короче говоря, мне нужно отправить вручную сгенерированный стандартными средствами C# запрос на отправку формы АИБ, например 2ch.so. Кроме как работы через WebBrowser иного решения найти не удалось, но он не поддерживает отправки картинок из-за безопасности javascript'а. Прошу дать небольшой работающий пример на C# с небольшими комментариями, чтобы можно было быстро разобраться.
    То что я делал сам выдавало ошибку 405, не знаю в чем дело. Вот, собственно. Надеюсь, кто-нибудь поможет.
     
    #1339 ndjkvbf, 8 Jun 2012
    Last edited: 8 Jun 2012
  20. Feonor

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

    Joined:
    23 Jul 2008
    Messages:
    128
    Likes Received:
    52
    Reputations:
    19
    Code:
    using System.Net;
    ...
    string HttpPost (string uri, string parameters)
    { 
       // parameters: name1=value1&name2=value2	
       WebRequest webRequest = WebRequest.Create (uri);
       //string ProxyString = 
       //   System.Configuration.ConfigurationManager.AppSettings
       //   [GetConfigKey("proxy")];
       //webRequest.Proxy = new WebProxy (ProxyString, true);
       //Commenting out above required change to App.Config
       webRequest.ContentType = "application/x-www-form-urlencoded";
      [B] webRequest.Method = "POST";[/B]
       byte[] bytes = Encoding.ASCII.GetBytes (parameters);
       Stream os = null;
       try
       { // send the Post
          webRequest.ContentLength = bytes.Length;   //Count bytes to send
          os = webRequest.GetRequestStream();
          os.Write (bytes, 0, bytes.Length);         //Send it
       }
       catch (WebException ex)
       {
          MessageBox.Show ( ex.Message, "HttpPost: Request error", 
             MessageBoxButtons.OK, MessageBoxIcon.Error );
       }
       finally
       {
          if (os != null)
          {
             os.Close();
          }
       }
     
       try
       { // get the response
          WebResponse webResponse = webRequest.GetResponse();
          if (webResponse == null) 
             { return null; }
          StreamReader sr = new StreamReader (webResponse.GetResponseStream());
          return sr.ReadToEnd ().Trim ();
       }
       catch (WebException ex)
       {
          MessageBox.Show ( ex.Message, "HttpPost: Response error", 
             MessageBoxButtons.OK, MessageBoxIcon.Error );
       }
       return null;
    } // end HttpPost 
     
Loading...
Similar Threads - Java начинающим задаем
  1. b3
    Replies:
    4
    Views:
    3,217