Имя: Пароль:
1C
1С v8
Как реализовать код на C# в 1С
0 НовыйУчастник Форума
 
12.01.12
19:11
Есть код на C#, на проверку домена на занятость
string txtResponse = "";
           string strResponse = "";

           TcpClient tcpWhois = new TcpClient("whois.internic.net", 43);
           NetworkStream nsWhois = tcpWhois.GetStream();
           BufferedStream bfWhois = new BufferedStream(nsWhois);

           StreamWriter swSend = new StreamWriter(bfWhois);
                        swSend.WriteLine("google.com");
                        swSend.Flush();

           StreamReader srReceive = new StreamReader(bfWhois);

           while ((strResponse = srReceive.ReadLine()) != null)
           {
               txtResponse += strResponse + "\r\n";
           }

           tcpWhois.Close();

           Console.WriteLine(txtResponse);

как его в 1С реализовать. пробовал как тут - v8: кто-нить использовал w3sockets в 1С 8? не помогло
1 oleg_km
 
12.01.12
21:03
Можно через ActiveX WinSock, но это все будет выглядеть не так.
2 Lexxxxx
 
12.01.12
21:06
(0) А если реализовать все это в виде внешней компоненты?
3 ilpar
 
12.01.12
21:27
если нужен ответ да или нет, то проще компоненту.

Код у тебя есть.
В свое время когда заморочился, получилось довольно быстро ответ из компоненты на шарпе получить, передавал туда строку.
4 ilpar
 
12.01.12
21:30
Но это COM-компонент, со всеми вытекающими.

что-то типа.

using System.Runtime.InteropServices;
using System.Windows.Forms;
using System;
using System.Collections.Generic;

namespace GavrikProg
{
   [ComVisible(true), Guid("98D1E60F-260E-4D9C-B275-01393448F2C1"), ProgId("AddIn.MyNetComponent")]
   public class GavrikProg
   {
             public int ShowMessage(int A, int B)
                {
                         int c;
                         c=A*B;
                       return c;
                }
 
   }
}

Код 1С

       // Вставить содержимое обработчика.
       ПрогИД = "AddIn.MyNetComponent";
       ПодключитьВнешнююКомпоненту(ПрогИД);
       МояБиблиотека = Новый COMОбъект(ПрогИД);
       a=МояБиблиотека.ShowMessage(2,4);
       Сообщить(a);
5 ilpar
 
12.01.12
21:31
конечно хотелось бы полноценный пример ActiveX получить.

И по технологии 1С, какие они публикуют для Дэлфи и Си.
6 НовыйУчастник Форума
 
12.01.12
22:57
(4)даа велосипед получается...думал в 1с уже ченить готовое есть для tcp ip