небось все накожено в одном классе - формы) что за приложение? сильверлайт, WPF - копай в сторону паттерна MVVM грамотно написанное приложение - само себя исправит) а по сабжу, того куска кода недостаточно для ответа. у тебя после цикла картинка пропадает вообще или возвращается в начальную точку? или как? я не знаю что ты там намудрил в коде но все довольно таки просто и ничего никуда не пропадает)) вот вин формс сборка которая работает ) смотри сам что у тебя не так PHP: 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.Threading; namespace WindowsFormsApplication1 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { for (int i = 0; i < 100; i++) { Point p = new Point(i,i); pictureBox1.Location = p; Thread.Sleep(100); } } } } красиво и плавно ездит по форме)
SKOLKOVO, спасибо Ещё раз убеждаюсь, что ночью кодить не нужно) Большой код, в конце затерялась строчка: "PictureBox.Visible = false;"
PHP: public string radikal() { HttpWebResponse myHttpWebResponse2 = null; string imageURL; try { //Делаем запрос на сервер HttpWebRequest myHttpWebRequest2 = (HttpWebRequest)HttpWebRequest.Create("http://www.radikal.ru/action.aspx"); myHttpWebRequest2.Method = "POST"; myHttpWebRequest2.Referer = "http://www.radikal.ru"; myHttpWebRequest2.UserAgent = "Mozila/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MyIE2;"; myHttpWebRequest2.Accept = "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */*"; myHttpWebRequest2.Headers.Add("Accept-Language", "ru"); myHttpWebRequest2.ContentType = "application/x-www-form-urlencoded"; //Ставим False, чтобы при получении кода 302 не делать //автоматического перенаправления myHttpWebRequest2.AllowAutoRedirect = false; string sQueryString = "upload=yes&URLF=" + imageURL + "&O=yes&M=240&JQ=100&IM=7&VM=180&R=0&VE=yes&V=Увел ичить"; byte[] ByteArr = Encoding.GetEncoding(1251).GetBytes(sQueryString); myHttpWebRequest2.ContentLength = ByteArr.Length; myHttpWebRequest2.GetRequestStream().Write(ByteArr, 0, ByteArr.Length); //Получаем ответ от сервера myHttpWebResponse2 = (HttpWebResponse)myHttpWebRequest2.GetResponse(); StreamReader myStreamReader = new StreamReader(myHttpWebResponse2.GetResponseStream(), Encoding.GetEncoding(1251)); //Получаем HTML-код страницы и вытаскиваем из него ссылку на изображение string txt = myStreamReader.ReadToEnd(); //myHttpWebResponse2.Close(); Match res = Regex.Match(txt, "<input [^>]*id=\"input_link_1\"[^>]*value=\"(?<Value>[^\"]+)\"[^>]+/>"); if (res.Success) { imageURL = res.Groups[1].Value; return imageURL; } else return imageURL = String.Empty; } catch (WebException e) { if (e.Status == WebExceptionStatus.ProtocolError) { } return imageURL = String.Empty; } finally { if (myHttpWebResponse2 != null) myHttpWebResponse2.Close(); } Здесь идет заливка на сайт Radikal.ru через урл. А как сделать чтобы шла отправка файла с компа
снифер в руки, вот контент пост реквеста на радикал. Картинка переводится в байты + указываются некоторые данные.
PHP: upload yes 3 GEO_POINT_ID 0 F <Place Holder for File> 650x_4d7463190cdec.jpg Content-Type: image/pjpeg 86458 URLF 0 O yes 3 M 640 3 JQ 85 2 J yes 3 IM 7 1 VM 180 3 R 0 1 VE yes 3 V Увеличить 18 X 0 FS 0
wpf сделать максимально точную копию вендового калькулятора, по сути ничего сложного, но уже час голову ломаю как оптимально считать результат, то есть ввели одно число, нажали на (плюс|минус|etc) и вывели результат. конечно можно вешать на каждую кнопку свой обработчик и в нём уже производить операцию вычисления конечного результата. или один обработчик на все четыре кнопки и например смотреть по тексту на самой кнопке ну и потом if else (бред да?) а хотелось бы что то типа res.Text=a [пихнули соответствующий символ] b. сам символ пихнуть не проблема. сделать например тот же массив и по ключу его достать. но вот получится int = int char int вместо int = int (+|-|*|/) int или так нельзя в принципе? похапэ меня разбаловал
если чесно вообще не понял, что тебе нужно можно обычным свичом Code: switch(char znak) { case '+': a + b; break; case '-': a - b; break; //и т.д. }
та уже так и делаю. об этом я и говорил что ловить знак и в ифы его кинуть. одной строкой было бы кошерно вместо ветвлений но видимо это не возможно
Здравствуйте, подскажите пожалуйста, как можно разбить текстовой файл на части по размеру? По частям нашел а вот с размером проблемка.
Code: long parts = 2L; // Кол-во частей using (FileStream fs = new FileStream("D:\\1\\1.txt", FileMode.Open, FileAccess.Read)) { long partSz = fs.Length / parts; // Размер одной части byte[] buff; bool mod = fs.Length % parts == 0; // Все части одного размера for (int i = 0; i < parts; i++) { using (FileStream pStream = new FileStream(string.Format("D:\\1\\{0}.part", i), FileMode.Create, FileAccess.Write)) { buff = new byte[i == parts - 1 && !mod ? fs.Length - (parts - 1) * partSz : partSz]; fs.Read(buff, 0, buff.Length); pStream.Write(buff, 0, buff.Length); } buff = null; } }
Использую готовый класс от Glook для multipart/form data Code: [/COLOR]using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Net; using System.IO; using System.Security.Cryptography; namespace WebTools { class MultiPartForm : IDisposable { private Stream _stream; private string _boundary; private string _templateData = "--{0}\r\nContent-Disposition: form-data; name=\"{1}\"\r\n\r\n{2}\r\n"; private string _templateFile = "--{0}\r\nContent-Disposition: form-data; name=\"{1}\"; filename=\"{2}\"\r\nContent-Type: {3}\r\n\r\n"; private string _templateEnd = "--{0}--\r\n\r\n"; public MultiPartForm(WebRequest Request) { _boundary = String.Format("--{0}", GetMD5()); Request.Method = "POST"; Request.ContentType = String.Format("multipart/form-data; boundary={0}", _boundary); _stream = Request.GetRequestStream(); } public void AddData(string Name, string Value) { byte[] contentData = Encoding.UTF8.GetBytes(String.Format(_templateData, _boundary, Name, Value)); _stream.Write(contentData, 0, contentData.Length); } public void AddFile(string Name, string FilePath) { AddFile(Name, FilePath, "application/octet-stream"); } public void AddFile(string Name, string FilePath, string FileType) { using (FileStream fileStream = new FileStream(FilePath, FileMode.Open)) { AddFile(Name, FilePath, fileStream, FileType); } } public void AddFile(string Name, string FilePath, Stream FileStream) { AddFile(Name, FilePath, FileStream, "application/octet-stream"); } public void AddFile(string Name, string FilePath, Stream FileStream, string FileType) { FileStream.Seek(0, SeekOrigin.Begin); byte[] contentFile = Encoding.UTF8.GetBytes(String.Format(_templateFile, _boundary, Name, FilePath, FileType)); _stream.Write(contentFile, 0, contentFile.Length); FileStream.CopyTo(_stream); byte[] _lineFeed = Encoding.UTF8.GetBytes("\r\n"); _stream.Write(_lineFeed, 0, _lineFeed.Length); } public void Dispose() { Close(); GC.SuppressFinalize(this); } public void Close() { byte[] contentEnd = Encoding.UTF8.GetBytes(String.Format(_templateEnd, _boundary)); _stream.Write(contentEnd, 0, contentEnd.Length); } private string GetMD5() { Random randNum = new Random(); MD5CryptoServiceProvider md5hash = new MD5CryptoServiceProvider(); byte[] randByte = Encoding.UTF8.GetBytes(randNum.NextDouble().ToString()); byte[] computeHash = md5hash.ComputeHash(randByte); string resultHash = String.Empty; foreach (byte currentByte in computeHash) { resultHash += currentByte.ToString("x2"); } return resultHash; } } } Пытаюсь Загрузить данные на Rghost.ru . Редиректит на другую страницу Code: public void RGHOST_GET() { string bound = CreateRandomPassword(12); textBox1.Enabled = false; HttpWebResponse webResponse = null; HttpWebResponse webResponse777 = null; // HttpWebRequest webRequest777 = (HttpWebRequest)WebRequest.Create("http://rghost.net/multiple/upload_host"); webResponse777 = (HttpWebResponse)webRequest777.GetResponse(); StreamReader myStreamReader777 = new StreamReader(webResponse777.GetResponseStream(), Encoding.GetEncoding(1251)); //Получаем HTML-код страницы и вытаскиваем из него ссылку на изображение string upload_host_data = myStreamReader777.ReadToEnd(); Match res_upload_host = Regex.Match(upload_host_data, @"(([a-z0-9\-\.]+)?[a-z0-9\-]+(!?\.[a-z]{2,4}))"); string uphost; string aut_tok; if (res_upload_host.Success) { uphost = res_upload_host.Groups[0].Value; uph = uphost.Trim(); } // uph это типа phonon.rghost.com Match authenticity_token = Regex.Match(upload_host_data, ":\"(.*?)\""); if (authenticity_token.Success) { aut_tok = authenticity_token.Groups[0].Value; aut = aut_tok.Trim(); } string ss=aut.Replace(":","").Trim(); string sss=ss.Replace("\"","").Trim(); MessageBox.Show(sss); MessageBox.Show(uph); webResponse777.Close(); //////////////////////////////// СПЕРВА GET ЗАПРОС ///////////////////////////////////////////// HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create("http://"+uph+"/files"); webRequest.CookieContainer = cookie; string FileName = textBox1.Text.ToString().Trim(); webRequest.UserAgent = "Mozila/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MyIE2;"; webRequest.Host = uph; webRequest.Accept = "text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/webp, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1"; webRequest.Headers.Add("Accept-Language", "ru"); webRequest.Headers.Add("Accept-Encoding", "gzip"); webRequest.Method = "POST"; webRequest.ContentType = "multipart/form-data; boundary=----------------------------" + bound; webRequest.AllowAutoRedirect = false; string auten = aut; using (MultiPartForm multiPart = new MultiPartForm(webRequest)) { multiPart.AddData("authenticity_token", sss); multiPart.AddFile("file", FileName); } webRequest.CookieContainer = cookie; webResponse = (HttpWebResponse)webRequest.GetResponse(); // string tC = webResponse.Headers["Set-Cookie"]; StreamReader myStreamReader = new StreamReader(webResponse.GetResponseStream(), Encoding.GetEncoding(1251)); //Получаем HTML-код страницы и вытаскиваем из него ссылку на изображение string txt = myStreamReader.ReadToEnd(); string imageURL; Match res = Regex.Match(txt, @"http://rghost\.(\w+)/(\d+)"); if (res.Success) { imageURL = res.Groups[1].Value; textBox1.Text = imageURL.ToString(); textBox1.Enabled = true; } else { imageURL = String.Empty; textBox1.Text = "ERROR!!"; textBox1.Enabled = true; } webResponse.Close(); } зы Извиняюсь за индийский код)
Здравствуйте, как в данном примере использовать кодировку UTF-8 ? Code: using (var client = new System.Net.WebClient()) { var values = new System.Collections.Specialized.NameValueCollection(); values.Add("user", "*********"); values.Add("pass", "*********"); client.UploadValues("http://site.ru/s.php", values); }
На форме 50 textBox'ов, нужно их заполнить (в цикле). Обязательно создавать масив из 50-ти textBox'ов или можно как-то иначе получить к ним доступ ?
Code: var controlslist = groupBox1.Controls; for (int i = 0; i < controlslist.Count; i++) { controlslist[i].Text = "текст"; } создаешь groupbox запихиваешь в него все текстбоксы и в цыкле заполняешь
Java Java. Такой вопрос из области теории: написал я самый обычный сервак, на сокетах, самый обычный функционал сервера это обмен сообщениями. Если написать клиентскую часть под мобилы (например под Android) то клиент и сервер будут взаимодействовать? И будут ли какие то подводные камни? Или это вообще велосипед я пытаюсь сделать? Просто на мобилах еще ни разу не кодил.