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

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

  1. geezer.code

    geezer.code Elder - Старейшина

    Joined:
    22 Jan 2007
    Messages:
    552
    Likes Received:
    358
    Reputations:
    90

    красивее и быстрее - да, но читаемость кода ухудшается.

    читаемость точно хуже :), в первый раз даже не заметил что нет ++!
     
    #121 geezer.code, 2 Apr 2009
    Last edited: 4 Apr 2009
    1 person likes this.
  2. .ATK

    .ATK Active Member

    Joined:
    20 Feb 2009
    Messages:
    143
    Likes Received:
    111
    Reputations:
    9
    Киньте кто кусок рабочего кода работы System.Net.Mail.SmtpClient! А то при отправке (.Send()) выдаёт ошибку!
     
    1 person likes this.
  3. geezer.code

    geezer.code Elder - Старейшина

    Joined:
    22 Jan 2007
    Messages:
    552
    Likes Received:
    358
    Reputations:
    90
    заглянем в мсдн, а там.... ух ты! готовый код!
    Code:
    using System;
    using System.Net;
    using System.Net.Mail;
    using System.Net.Mime;
    using System.Threading;
    using System.ComponentModel;
    namespace Examples.SmptExamples.Async
    {
        public class SimpleAsynchronousExample
        {
            static bool mailSent = false;
            private static void SendCompletedCallback(object sender, AsyncCompletedEventArgs e)
            {
                // Get the unique identifier for this asynchronous operation.
                 String token = (string) e.UserState;
    
                if (e.Cancelled)
                {
                     Console.WriteLine("[{0}] Send canceled.", token);
                }
                if (e.Error != null)
                {
                     Console.WriteLine("[{0}] {1}", token, e.Error.ToString());
                } else
                {
                    Console.WriteLine("Message sent.");
                }
                mailSent = true;
            }
            public static void Main(string[] args)
            {
                // Command line argument must the the SMTP host.
                SmtpClient client = new SmtpClient(args[0]);
                // Specify the e-mail sender.
                // Create a mailing address that includes a UTF8 character
                // in the display name.
                MailAddress from = new MailAddress("[email protected]", 
                   "Jane " + (char)0xD8+ " Clayton", 
                System.Text.Encoding.UTF8);
                // Set destinations for the e-mail message.
                MailAddress to = new MailAddress("[email protected]");
                // Specify the message content.
                MailMessage message = new MailMessage(from, to);
                message.Body = "This is a test e-mail message sent by an application. ";
                // Include some non-ASCII characters in body and subject.
                string someArrows = new string(new char[] {'\u2190', '\u2191', '\u2192', '\u2193'});
                message.Body += Environment.NewLine + someArrows;
                message.BodyEncoding =  System.Text.Encoding.UTF8;
                message.Subject = "test message 1" + someArrows;
                message.SubjectEncoding = System.Text.Encoding.UTF8;
                // Set the method that is called back when the send operation ends.
                client.SendCompleted += new 
                SendCompletedEventHandler(SendCompletedCallback);
                // The userState can be any object that allows your callback 
                // method to identify this send operation.
                // For this example, the userToken is a string constant.
                string userState = "test message1";
                client.SendAsync(message, userState);
                Console.WriteLine("Sending message... press c to cancel mail. Press any other key to exit.");
                string answer = Console.ReadLine();
                // If the user canceled the send, and mail hasn't been sent yet,
                // then cancel the pending operation.
                if (answer.StartsWith("c") && mailSent == false)
                {
                    client.SendAsyncCancel();
                }
                // Clean up.
                message.Dispose();
                Console.WriteLine("Goodbye.");
            }
        }
    }
    
    
    
    ps вообще неплохо было бы выложить текст ошибки.

    pps для тех кто не в курсе как отправляется почта клиент отправляет письмо посредством smtp сервера. возможно смтп сервер будет требовать авторизацию
    пример приведен для сервера с открытым релеингом(имя передается в args[0]).
    если сервер требует авторизации , ТО также нужно передать credentials
    примерно так.
    client.Credentials = new NetworkCredential("myemail", "mypassword");

    зззы - работайте головой.
     
    #123 geezer.code, 7 Apr 2009
    Last edited: 7 Apr 2009
    2 people like this.
  4. KaMiKadZe

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

    Joined:
    24 Feb 2006
    Messages:
    163
    Likes Received:
    35
    Reputations:
    19
    Visual C# 2008 при создание проекта выдает ошибку Requested registry access is not allowed. (Стоит Windows 7) как исправить?
     
  5. procedure

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

    Joined:
    22 Dec 2007
    Messages:
    527
    Likes Received:
    257
    Reputations:
    46
    Столкнулся с проблемой, подскажите пожалуйста, как из объекта Image, получить текстовую строку, содержащую все символы картинки. В текстовом виде. Для того чтобы отправить в запросе.
     
  6. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0
    image.ToString() :D :D
     
  7. procedure

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

    Joined:
    22 Dec 2007
    Messages:
    527
    Likes Received:
    257
    Reputations:
    46
    Если бы так все легко...))

     
  8. geezer.code

    geezer.code Elder - Старейшина

    Joined:
    22 Jan 2007
    Messages:
    552
    Likes Received:
    358
    Reputations:
    90
    http://www.codeproject.com/KB/recipes/ImageConverter.aspx
    ну а byteArray я думаю сам справишься. :)
    Code:
    public byte[] imageToByteArray(System.Drawing.Image imageIn)
    {
     MemoryStream ms = new MemoryStream();
     imageIn.Save(ms,System.Drawing.Imaging.ImageFormat.Gif);
     return  ms.ToArray();
    }
    public Image byteArrayToImage(byte[] byteArrayIn)
    {
         MemoryStream ms = new MemoryStream(byteArrayIn);
         Image returnImage = Image.FromStream(ms);
         return returnImage;
    }
     
    1 person likes this.
  9. Feonor

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

    Joined:
    23 Jul 2008
    Messages:
    128
    Likes Received:
    52
    Reputations:
    19
    Эта проблема возникает потому, что учетная запись пользователя, которую вы использовали для входа в систему, не имеют достаточных полномочий. Или если по простому, войди как одмин ;)
    Происходит это потому что Visual пытается писать в реестр, а в Вин 7 песать туда могут не все проги. И еще в 7ке с правами доступа намудрили, если тут писать начну, то это на весь день))) лучше прочитай руководство для разработчиков на Windows 7 (на русском языке) и будешь в теме. :)
     
    2 people like this.
  10. .ATK

    .ATK Active Member

    Joined:
    20 Feb 2009
    Messages:
    143
    Likes Received:
    111
    Reputations:
    9
    Строка
    закадировано
    Как получить эти русские буквы??? шарп!
     
  11. 4y4o

    4y4o Elder - Старейшина

    Joined:
    22 Jan 2007
    Messages:
    40
    Likes Received:
    2
    Reputations:
    0
    Установил jdk. Прописал переменные среды. Компилю простой пример
    class test
    {
    public static void main(String args[])
    {
    System.out.println("Hello");
    }
    }
    javac test.java
    всё ок.
    потом выполняю java test.class
    выдаёт ошибку
    C:\Documents and Settings\Admin>java "C:\Documents and Settings\Admin\Рабочий ст
    ол\test.class"
    Exception in thread "main" java.lang.NoClassDefFoundError: C:\Documents and Sett
    ings\Admin\╨рсюўшщ ёЄюы\test/class
    Caused by: java.lang.ClassNotFoundException: C:\Documents and Settings\Admin\╨рс
    юўшщ ёЄюы\test.class
    at java.net.URLClassLoader$1.run(Unknown Source)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    Could not find the main class: C:\Documents and Settings\Admin\╨а╨░╨▒╨╛╤З╨╕╨╣ ╤Б
    ╤В╨╛╨╗\test.class. Program will exit.
    ПАМАГИТЕ Люди добрые.
     
  12. Forcer

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

    Joined:
    12 Apr 2007
    Messages:
    321
    Likes Received:
    98
    Reputations:
    12
    1 person likes this.
  13. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0
    Code:
                string[] parts = "=?utf-8?B?0KLQtdC80LA=?=".Split('?');
                byte[] bytes = Convert.FromBase64String(parts[3]);
                Console.WriteLine(Encoding.UTF8.GetString(bytes));
     
  14. MaDfUn

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

    Joined:
    2 Feb 2007
    Messages:
    28
    Likes Received:
    10
    Reputations:
    0
    Здравствуйте! Возник вопрос, как сменить имя проекта в Visual Studio 2008(C#) имеется ввиду чтобы изменилось все неймспейсы, имя папки с проектом и тд
    зы
    буду очень благодарен за помощь!
     
    1 person likes this.
  15. Feonor

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

    Joined:
    23 Jul 2008
    Messages:
    128
    Likes Received:
    52
    Reputations:
    19
    Выделяешь имя неймспейса, правый клик, оптимизация, переименовать... пишешь новое имя и ставишь галки во всех 3х пунктах. А имя проекта и решения меняешь правым кликом и переименовать. Имя папки не меняй. да это впринципе и не играет не на что... Если найду как имя папки менять напишу еще...
     
    1 person likes this.
  16. Torett0

    Torett0 New Member

    Joined:
    10 Apr 2009
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Как сделать, чтобы программа работала в фоновом режиме(на подобии троя)? Желательно, чтобы софтина не отображалась в диспетчере задач...
    зы
    спасибо за любую оказанную помощь...
    зы2
    c# VS 2008
     
  17. .ATK

    .ATK Active Member

    Joined:
    20 Feb 2009
    Messages:
    143
    Likes Received:
    111
    Reputations:
    9
    program.cs закоменть три строки в static void Main() и пиши свой код ;)
     
  18. Sharky

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

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    можно пример как сделать чтоб форма не висла при выполнении объёмной операции после нажатия баттона?
     
  19. Algol

    Algol New Member

    Joined:
    29 May 2002
    Messages:
    1,759
    Likes Received:
    4
    Reputations:
    0
    Объемную операцию нужно выполнять в отдельном потоке.
     
  20. Sharky

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

    Joined:
    1 May 2006
    Messages:
    487
    Likes Received:
    312
    Reputations:
    46
    про это я уже читал ... но в c# опыта маловато, поэтому и прошу пример показать
     
Loading...
Similar Threads - Java начинающим задаем
  1. b3
    Replies:
    4
    Views:
    3,294