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

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

  1. Radical Edward

    Radical Edward New Member

    Joined:
    24 Jan 2010
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    Попробовал. Не получилось. В качестве загружаемого файла я использовал дипспетчер задачь Windows XP. Вот код :

    Code:
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Reflection;
    using System.IO;
    namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            Assembly a = Assembly.GetExecutingAssembly();
            public Form1()
            {
                InitializeComponent();
                Test();
            }
            private void Test()
            {
                
                Stream st =  a.GetManifestResourceStream("taskmgr.exe");
                StreamWriter sr = new StreamWriter("D:\\taskman.exe");
                MessageBox.Show(st.ReadByte());
    
            }
    
    
        }
    }
     
  2. Tigger

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

    Joined:
    27 Aug 2007
    Messages:
    958
    Likes Received:
    527
    Reputations:
    204
    Мне надо, чтобы программа сохраняла куки, но что-то не выходит никак.
    Делаю запрос через HttpWebRequest.
    Все в порядке, все отправляется, страница получается, но не могу понять, как записать куки.

    Подскажите, пожалуйста.
     
  3. Tigger

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

    Joined:
    27 Aug 2007
    Messages:
    958
    Likes Received:
    527
    Reputations:
    204
    Разобрался!
     
    #343 Tigger, 28 Jan 2010
    Last edited: 28 Jan 2010
  4. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0

    Stream st = a.GetManifestResourceStream("WindowsFormsApplication1.taskmgr.exe");
     
  5. Radical Edward

    Radical Edward New Member

    Joined:
    24 Jan 2010
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    Ноль на массу. Все равно пустая ссылка выходит...


    Спустя 15 мину :
    Вопрос не актуален. Разобрался. Если кому интересно, вот код

    Code:
                MessageBox.Show(Assembly.GetExecutingAssembly().GetManifestResourceNames()[1]);
    
                Stream st = a.GetManifestResourceStream("WindowsFormsApplication1.Resources.taskmgr.exe");
                StreamWriter sr = new StreamWriter("D:\\taskman1.exe");
    
    Вся проблемма именно в пути)
     
    #345 Radical Edward, 28 Jan 2010
    Last edited: 28 Jan 2010
  6. Tigger

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

    Joined:
    27 Aug 2007
    Messages:
    958
    Likes Received:
    527
    Reputations:
    204
    А теперь можете помочь с регуляркой?)

    [(.*),"(.*)",.*]

    Что-то вроде этого, т.е. есть много блоков вида: [], из них нужно спарсить первые два поля, первое без кавычек, второе в кавычках...

    Делал так:
    MatchCollection parse = Regex.Matches(data, "[(.*),.*]");
    Но ничего не вышло... Подскажите, пожалуйста!
     
  7. razb

    razb Active Member

    Joined:
    24 Mar 2009
    Messages:
    658
    Likes Received:
    133
    Reputations:
    18
    \[(.+),"(.+)",.+\]

    Вот очень удобный онлайн билдер _http://www.gskinner.com/RegExr/ (на флэше)
     
  8. Tigger

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

    Joined:
    27 Aug 2007
    Messages:
    958
    Likes Received:
    527
    Reputations:
    204
    Сайт не пашет, регулярка тоже :D

    "Нераспределенная управляющая последовательность"
     
  9. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0
    MatchCollection parse = Regex.Matches(data, "\\[(.+?),\"(.+?)\",.+?\\]");

    А вообще, RTFM.
     
    #349 Algol, 28 Jan 2010
    Last edited: 28 Jan 2010
  10. mastaadon

    mastaadon New Member

    Joined:
    26 Mar 2009
    Messages:
    32
    Likes Received:
    0
    Reputations:
    0
    Ребята может кто поможет выяснить как бы этот код выглядел на C#

    PHP:
         $str = '<request>
              <version>1.2</version>
              <action>send_money</action>
              <kind>phone</kind>
              <merchant_id>i1234567890</merchant_id>
              <order_id>ORDER_123</order_id>
              <to>+3801234567890</to>
              <amount>10</amount>
              <currency>USD</currency>
              <description>Here is your 10 buck</description>
            </request>';
         $operation_xml = base64_encode($str);
         $signature = base64_encode(sha1('143fd234323fdsf'.$str.'143fd234323fdsf', 1));
         $operation_envelop = '<operation_envelope>
                                  <operation_xml>'.$operation_xml.'</operation_xml>
                                  <signature>'.$signature.'</signature>
                             </operation_envelope>';
         $post = '<?xml version=\"1.0\" encoding=\"UTF-8\"?>
                                  <request>
                                       <liqpay>'.$operation_envelop.'</liqpay>
                                  </request>';
     
  11. Tigger

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

    Joined:
    27 Aug 2007
    Messages:
    958
    Likes Received:
    527
    Reputations:
    204
    И так, снова вопрос)
    Хочу добавить в программу поток, чтобы разделить саму оболочку от всех выполнимых действий, ну чтобы там лог велся онлайн и т.д...

    но я что-то не понимаю как и куда вставлять новый поток. Т.е. в класс, который все выполяет, в кнопку, по нажатию на которую идут все действия. Подскажите, пожалуйста!
     
  12. W!z@rD

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

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    BackgroundWorker, про это почитай.
     
  13. Radical Edward

    Radical Edward New Member

    Joined:
    24 Jan 2010
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    Столкнулся с такой вот проблеммой. Мне надо программно записать Авторан для всех пользователей. Делаю я вооот ткую штуку :

    Code:
    RegistryKey RK = Registry.LocalMachine;
                RK = RK.OpenSubKey("SOFTWARE");
                RK = RK.OpenSubKey("Microsoft");
                RK = RK.OpenSubKey("Windows");
                RK = RK.OpenSubKey("CurrentVersion");
                RK = RK.OpenSubKey("Run");
                Registry.CurrentUser.SetValue("Название_ПРОГИ",ПУТЬ_ПРОГИ",RegistryValueKind.String);
                RK.Close();
    Однако возникает ошибка при исполнении : UnauthorisedAccessException. Я так понимаю, проблемма вся в правах....что делать?
     
  14. FEV

    FEV Member

    Joined:
    23 Sep 2009
    Messages:
    17
    Likes Received:
    6
    Reputations:
    0
    попробуй OpenSubKey(..., true);
     
  15. W!z@rD

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

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    ахтунг ну и код =\

    private static void IEShowImages(bool show)
    {
    var ieKey = Registry.CurrentUser.CreateSubKey(@"Software\Microsoft\Internet Explorer\Main");
    if (ieKey == null)
    {
    return;
    }
    ieKey.SetValue("Display Inline Images", show ? "yes" : "no");
    }
     
  16. Radical Edward

    Radical Edward New Member

    Joined:
    24 Jan 2010
    Messages:
    21
    Likes Received:
    0
    Reputations:
    0
    FEV, спасибо, помогло.Что-то я не заметил этого параметра
    W!z@rD, чем тебе код не нравится? имхо, так более читабельно
     
  17. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    PHP:
    static public string EncodeTo64(string toEncode)

        {

          
    byte[] toEncodeAsBytes 

                
    System.Text.ASCIIEncoding.ASCII.GetBytes(toEncode);

          
    string returnValue 

                
    System.Convert.ToBase64String(toEncodeAsBytes);

          return 
    returnValue;

        }
    PHP:
    byte[] data = new byte[DATA_SIZE];
    byte[] result

    SHA1 sha = new SHA1CryptoServiceProvider(); 
    // This is one implementation of the abstract class SHA1.
    result sha.ComputeHash(data);
    msdn
     
  18. Tigger

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

    Joined:
    27 Aug 2007
    Messages:
    958
    Likes Received:
    527
    Reputations:
    204
    Помогите с потокобезопасным кодом, пожалуйста.
    Имеется рабочий класс:
    public delegate LogDelegate(string text);
    public event LogDelegate Log;

    И в этом классе часто вызывается этот лог

    класс mainForm:
    WorkClass.Log += new WorkClass.WriteLogDelegate(_work_class_log);

    void _work_class_log(string text)
    {
    logTextBox.AppendText(text + "\r\n");
    }
    .

    В этом же классе (mainForm) есть код, который выполняется в фоновом потоке. Но если вызывать там же и WorkClass.Log += new WorkClass.WriteLogDelegate(_work_class_log);, то ругается, что в разных потоках, если в любом другом месте, то ругается, что не задана ссылка. Пробовал через Invoke, но не понял какой и как делешат туда писать...
     
  19. W!z@rD

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

    Joined:
    12 Feb 2006
    Messages:
    973
    Likes Received:
    290
    Reputations:
    43
    void _work_class_log(string text)
    {
    if (InvokeRequed)
    {
    BeginInvoke(new MethodInvoker(() => textBox1.AppendText(text)))
    }
    else
    {
    textBox1.AppendText(text)
    }
    }

    Типа того.
     
    1 person likes this.
  20. [х26]VОLАND

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

    Joined:
    7 Jun 2006
    Messages:
    517
    Likes Received:
    756
    Reputations:
    218
    > LogDelegate
    Говорил же тебе в аське - это полнейшая нелепица...
     
Loading...