Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Программирование (VB,C#,ASP,.NET): новости, советы, примеры



Выпуск # 203


http://www.kbyte.ru/

 

Новый выпуск!

Если у Вас возникнут какие-либо вопросы, замечания, пожелания или предложения, пишите, мы детально рассмотрим каждое Ваше сообщение – mailto: admin@kbyte.ru.

 

Содержание выпуска

Новости Kbyte.Ru

    Новый раздел на сайте!

    Небольшие изменения на сайте

Система ЭКСПЕРТ

    Вопрос #000546: Как открыть и прочитать файл на Си++?

    Вопрос #000539: работа с dll

    Вопрос #000536: Работа с файлами...

    Вопрос #000534: Вопрос_по_C#

    Вопрос #000531: Вопрос_по_C#

Последнее на форумах

    помогите узнать мак-адресс програмно

     как создать переменную для управлением етим открытым word.doc

    библиотека MFC42.lib

    калькулятор в С#

    А вот это уже серъёзно!

Последние статьи

    Взаимодействие с другими сайтами через HTTP (HttpWebRequest и HttpWebResponse)

    Работа с SQL – Запросы

    Использование XML.Serialization

    Выбор языка программирования для научных работ (2-я редакция)

    Работаем с MIME

Интересные коды и решения

Юмор на Kbyte.Ru

 

Новости Kbyte.Ru

 

14 октября 2007 / Новый раздел на сайте!

На сайте открылся раздел «Наши проекты», в котором собраны все проекты пользователей Kbyte.Ru. Напомним, что каждый зарегистрированный пользователь сайта имеет возможность создавать список собственных проектов на сайте. Помимо размещения ссылок на проекты, также появилась возможность загружать файлы на сервер.
Если вы заметите какие-либо ошибки в работе сервиса, пожалуйста сообщите об этом Администратору сайта.

 

13 октября 2007 / Небольшие изменения на сайте

На сайте произошли небольшие изменения. Если вы заметите какие-либо ошибки в работе сайта, пожалуйста, сообщите об этом Администратору сайта, либо на форуме. Подробную информацию об изменениях на сайте можно посмотреть здесь.

 

Все новости Kbyte.Ru

Наверх

 

 

Система ЭКСПЕРТ

 

Система «Эксперт» - уникальная система, которая поможет решить, если не все, то многие Ваши проблемы с программированием и разработкой! Если у Вас есть какой-либо вопрос по программированию или разработке, то Вы всегда можете задать его нашим Экспертам! При этом каких-либо особых действий от Вас не потребуется! Просто отправьте Ваш вопрос на адрес mailto:expert@kbyte.ru, в теме письма укажите тему вопроса, в тексте – сам вопрос, и все! Эксперты дадут Вам ответ в течение 12-24 часов, на тот адрес, с которого Вы отправите вопрос. Все проще простого! Никакой регистрации и заполнение бесконечных форм, никаких наездов, оскорблений и насмешек со стороны гуру, просто спросите и получите ответ ;-)


Вопрос #000546: Как открыть и прочитать файл на Си++?

Автор вопроса: 5acred Phoenix // 15.10.2007 / 13:03

Доброе время суток, уважаемые эксперты.

У меня такой банальный вопрос по С++ :-)
Как открыть файл, что-нибудь туда записать и закрыть его? API?
И ещё есть вопрос по поводу MFC и ATL. Что это за библиотеки? Когда
какая используется?

Заранее спасибо.

Отвечает: Алексей Немиро // 15.10.2007 / 15:12

Здравствуйте!

ATL - Active Template Library
- это библиотека для оздания COM-компонентов. С ее помощью вы можете делать ActiveX-компоненты разных видов - полные (Full), облегченные (Light) и др. Полные элементы предназначены для любого контейнера, а облегченные будут работать не во всяком контейнере. Но это не значит, что облегченные хуже - например у них будет меньший вес (в килобайтах), и это несомненный плюс. Кроме того, можно делать еще элементы ActiveX, которые являются составными (Composite), то есть включают в себя другие готовые элементы.
Еще с помощью библиотеки ATL можно делать COM-компоненты без пользовательского интерфейса. Они могут предоставлять различные услуги вашим программам - что-то там считать, пересылать и т. п. Также к компонентам без пользовательского интерфейса относятся компоненты для MTS (Microsoft Transaction Server). Их мы тоже обязательно рассмотрим.
Вобще-то компоненты ActiveX можно делать и на основе MFC. Но тогда для их работы на клиентском компьютере необходимо присутствие библиотек MFC, а они по объему достаточно большие. Так что различные COM-компоненты (и в частности элементы ActiveX) предпочтительно делать на основе ATL, а не на основе MFC. Хотя это и несколько сложнее.


MFC - Microsoft Foundation Classes
Пакет Microsoft Foundation Classes (MFC) даёт возможность разрабатывать GUI-приложения для Microsoft Windows на языке C++ с использованием богатого набора библиотечных классов. Большая часть MFC представляет собой относительно тонкий объектно-ориентированный слой над Windows API. Это решение, с одной стороны, повышает производительность, но, с другой стороны, наследует все недостатки дизайна Windows API и препятствует переносу программ на другие платформы.
Первая версия MFC была выпущена вместе с седьмой версией 16-разрядного компилятора языка C/C++ компании Microsoft. Для тех, кто занимался разработкой приложений с использованием API функций, пакет MFC обещал весьма значительное повышение производительности процесса программирования. С момента выпуска первой версии пакет MFC претерпел многократные изменения.
* В версии 2 была введена архитектура документ-представление.
* В версии 2.5 была реализована поддержка технологий ODBC и drag-and-drop.
* В версии 3 появилась возможность реализации многозадачности и поддержка Unicode.
* В последующих версиях была введена поддержка сокетов, Internet-классов, технологий OLE-автоматизации и синхронизации потоков.
Сейчас Microsoft рассматривает MFC как устаревшую технологию, отдавая предпочтение Windows Forms, входящим в состав .NET.



001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020:
021:
022:
023:
024:
025:
026:
027:
#include
#include

void main( void )
{
FILE *file;
char* file_name = "file.txt";
char load_string[50] = "none";

file = fopen( file_name, "w" );

fputs( "string", file );

fclose( file );

file = fopen( file_name, "r" );
if( file != 0 )
{
fgets( load_string, 50 , file );
cout << "load_string = " << load_string << endl;
}
else
{
cout << "File not found !!!" << endl;
}
fclose(file);
}


MFC
001:
002:
003:
004:
005:
006:
007:
008:
char* pszFileName = "c:\\myfile.txt";
CFile myFile;
CFileException fileException;

if ( !myFile.Open( pszFileName, CFile::modeCreate | CFile::modeReadWrite, &fileException ) )
{
  TRACE( "Can't open file %s, error = %u\n", pszFileName, fileException.m_cause );
}

001:
002:
003:
004:
005:
006:
007:
char   szBuffer[256];
uint   nActual = 0;
CFile myFile;

myFile.Write( szBuffer, sizeof( szBuffer ) );
myFile.Seek( 0, CFile::begin );
nActual = myFile.Read( szBuffer, sizeof( szBuffer ) );


001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
CFile theFile;
char* szFileName = "c:\\myfile.txt";
bool bOpenOK;

CFileStatus status;
if( CFile::GetStatus( szFileName, status ) )
{
  // Открываем файл
  bOpenOK = theFile.Open( szFileName, CFile::modeWrite );
}
else
{
  // Создаём файл и открываем его
  bOpenOK = theFile.Open( szFileName, CFile::modeCreate | CFile::modeWrite );
}


--
С наилучшими пожеланиями,
Немиро Алексей http://aleksey.nemiro.ru/

 

Вопрос #000539: работа с dll

Автор вопроса: LIS // 11.10.2007 / 07:38

Господа эксперты, помогите!!!
есть проблема, в моей маленькой программе я подключил компонент "Microsoft Calendar Contorl 11.0", на моём компьютере он есть, т.е.компонет и он работает, но вот не задача на других компах компелированная моя программа не запускает этот компонент, ругается что его нет, я подумал а как можно внести его в DLL и сделеть так чтобы он (коспонент) всегда был в с программой. что самое странное этот компонет, его файлы имеются на этом компьютере, перезагразка не помогает.
ПЛИЗ, помогите решить проблему!

--------------------------------------
Категория: --- Visual Basic 5.0/6.0

Отвечает: Алексей Немиро // 11.10.2007 / 08:01

Здравствуйте, LIS.

Этот компонент необходимо зарегистрировать в системе. Делается это так:

Пуск => Выполнить => regocx.exe полный путь к файлу

, где:
полный путь к файлу – полный физический путь к файлу компонента, который нужно зарегистрировать в системе.

Тоже самое и с DLL, только программкой regsvr32.exe.

Для отмены регистрации используйте атрибут /u:

regsvr32.exe /u C:\Windows\System32\myDll.dll

Еще можно поковыряться в реестре, но это только для личного пользования:

Пуск => Выполнить => regedit
Создайте разделы:
HKEY_CLASSES_ROOT\dllfile\Shell\Registration\command и присвойте строковому параметру по умолчанию значение regsvr32.exe "%1", а также создайте еще один раздел:
HKEY_CLASSES_ROOT\dllfile\Shell\UnRegister\command со значением regsvr32.exe /u "%1"

И тогда регистрировать DLL-ки можно будет кликом правой кнопкой мышки по файлу.

Также, можно создать «инсталяшку» для Вашей программки, и указать инсталлятору все компоненты, которые нужно зарегистрировать в системе.

Если все выше описанное не поможет, создайте соответствующую тему на
нашем форуме, постараемся помочь :)

--
С наилучшими пожеланиями,
Немиро Алексей http://aleksey.nemiro.ru/

 

Вопрос #000536: Работа с файлами...

Автор вопроса: Сергей // 10.10.2007 / 11:41

Здравствуйте эксперты! Мне нужно сохранить в одном файле (*.ekz) и текст и картинку (*.bmp). Язык Visual Basic 6.0. Помогите пожалуйта...

--------------------------------------
Категория: --- Visual Basic 5.0/6.0

Отвечает: Алексей Немиро // 10.10.2007 / 12:40

Здравствуйте, Сергей!

Для реализации этого Вам необходимо открыть текстовой файл и файл картинки по очереди в бинарном режиме, и затем записать их в Ваш файл. Также необходимо придумать какие-нибудь метки, по которым Вы сможете извлечь нужные файлы из файла *.ekz.

Записывать примерно так:
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020:
021:
022:
023:
024:
025:
026:
Private Sub Form_Load()
 Dim sTextFilePath As String
 Dim sBinFilePath As String
 sTextFilePath = "C:\111.txt" 'путь к текстовику
 sBinFilePath = "C:\Windows\notepad.exe" 'путь к бинарнику
 
 Open sTextFilePath For Binary As #1
 Dim bText() As Byte
 ReDim bText(FileLen(sTextFilePath))
 Get #1, 1, bText
 Close #1

 Open sBinFilePath For Binary As #1
 Dim bBin() As Byte
 ReDim bBin(FileLen(sBinFilePath))
 Get #1, , bBin
 Close #1

 Dim sMetka As String
 sMetka = "--разделитель файлов--"
 Open "C:\000.dat" For Binary As #1
 Put #1, , bText
 Put #1, , sMetka
 Put #1, , bBin
 Close #1
End Sub


Считывать файл также, до метки sMetka.

Это довольно грубовата реализация, можно сделать гораздо лучше, и записывать в конечный файл даже имена файлов, их размер, и еще что-нибудь :) Но для примера и данный вариант сгодится.
И лучше сделать универсальную функцию для «склеивания» файлов, передавать ей, например, массив путей к файлам и этот массив прогонять циклом, открывать каждый файл и записывать в конечный, так будет гораздо правильней.

--
С наилучшими пожеланиями,
Немиро Алексей http://aleksey.nemiro.ru/

 

Вопрос #000534: Вопрос_по_C#

Автор вопроса: Александр Абраменков // 09.10.2007 / 14:37

Здравствуйте.
Прошу прощения, если это письмо приходит во второй раз. Но в предыдущий раз я забыл указать тему.
Необходимо реализовать предварительный просмотр файлов, наподобие того, как это делает explorer. Если explorer'у задать вид, как эскиз стриницы, то все файлы отображаются некоторыми картиночками (если это изображение - то уменьшенная копия картинки, если текстовый файл - то картинка блокнотика, и т.д).
Можно ли каким-либо образом получать аналогичные изображения (в формате BITMAP), воспользовавшись, например, функциями explorer'а?
Уточняю вопрос: необходимо получать картиночки для ВСЕХ форматов, в том числе и не изображений. Ведь explorer формирует иконки для всех зарегистрированных расширений.
Заранее спасибо.

Отвечает: Алексей Немиро // 10.10.2007 / 10:14

Здравствуйте, Александр!

Уточняю вопрос: необходимо получать картиночки для ВСЕХ форматов, в том числе и не изображений. Ведь explorer формирует иконки для всех зарегистрированных расширений.

Вы сами ответили на Ваш вопрос :)

Получить иконку, ассоциированную с файлом можно так:

1. Создайте новый Windows-проект

2. Добавьте новый класс, назовите его ExtractIconClass:
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020:
021:
022:
023:
024:
025:
026:
027:
028:
029:
030:
031:
032:
033:
034:
035:
036:
037:
038:
039:
040:
041:
042:
043:
044:
045:
046:
047:
048:
049:
050:
051:
052:
053:
054:
055:
056:
057:
058:
059:
060:
061:
062:
063:
064:
065:
066:
067:
068:
069:
070:
071:
072:
073:
using System;
using System.Runtime.InteropServices;
using System.Drawing;
using System.Drawing.Drawing2D;
using System.Collections;
using System.ComponentModel;
using System.Windows.Forms;
using System.Data;

public class ExtractIconClass
{
 [DllImport("Kernel32.dll")]
 public static extern int GetModuleHandle(string lpModuleName);
 [DllImport("Shell32.dll")]
 public static extern IntPtr ExtractIcon(int hInst, string FileName, int nIconIndex);
 [DllImport("Shell32.dll")]
 public static extern int DestroyIcon(IntPtr hIcon);
 [DllImport("Shell32.dll")]
 public static extern IntPtr ExtractIconEx(string FileName, int nIconIndex, int[] lgIcon, int[] smIcon, int nIcons);
 [DllImport("Shell32.dll")]
 private static extern int SHGetFileInfo(string pszPath, uint dwFileAttributes, out SHFILEINFO psfi, uint cbfileInfo, SHGFI uFlags);
 [StructLayout(LayoutKind.Sequential)]

 private struct SHFILEINFO
 {
  public SHFILEINFO(bool b)
  {
   hIcon = IntPtr.Zero;
   iIcon = 0;
   dwAttributes = 0;
   szDisplayName = "";
   szTypeName = "";
  }
  public IntPtr hIcon;
  public int iIcon;
  public uint dwAttributes;
  [MarshalAs(UnmanagedType.LPStr, SizeConst = 260)]
  public string szDisplayName;
  [MarshalAs(UnmanagedType.LPStr, SizeConst = 80)]
  public string szTypeName;
 };

 private enum SHGFI
 {
  SmallIcon = 0x00000001,
  LargeIcon = 0x00000000,
  Icon = 0x00000100,
  DisplayName = 0x00000200,
  Typename = 0x00000400,
  SysIconIndex = 0x00004000,
  UseFileAttributes = 0x00000010
 }

 public static Icon GetIcon(string strPath, bool bSmall)
 {
  SHFILEINFO info = new SHFILEINFO(true);
  int cbFileInfo = Marshal.sizeof(info);
  SHGFI flags;
  if (bSmall)
   flags = SHGFI.Icon | SHGFI.SmallIcon | SHGFI.UseFileAttributes;
  else
   flags = SHGFI.Icon | SHGFI.LargeIcon | SHGFI.UseFileAttributes;

  SHGetFileInfo(strPath, 256, out info, (uint)cbFileInfo, flags);
  return Icon.FromHandle(info.hIcon);
 }

 public static Icon GetSysIcon(int icNo)
 {
  IntPtr HIcon = ExtractIcon(GetModuleHandle(string.Empty), "Shell32.dll", icNo);
  return Icon.FromHandle(HIcon);
 }
}


3. В обработчик загрузки формы вставьте следующий код:
001:
002:
003:
004:
005:
006:
007:
System.Windows.Forms.PictureBox myImage = new System.Windows.Forms.PictureBox();
myImage.BackColor = Color.White;
myImage.Width = 32; myImage.Height = 32;
myImage.Left = 0; myImage.Top = 0;
myImage.Image = ExtractIconClass.GetIcon(@"C:\111.txt", false).ToBitmap();
// ВНИМАНИЕ: не забудьте поменять путь к файлу!
this.Controls.Add(myImage);


Что касается изображений, то если файл графический, его можно открыть,
уменьшить до нужных размеров и вывести в нужное место.
Примерно так:
001:
002:
003:
myImage = System.Drawing.Image.FromFile(путь к файлу)
myImage = myImage.GetThumbnailImage(Ширина: 50, Высота: 50, null, IntPtr.Zero);
myImage.Save(тут можно сохранить либо в файл, либо в поток, System.Drawing.Imaging.ImageFormat.Bmp) // формат также может быть любым


--
С наилучшими пожеланиями,
Немиро Алексей http://aleksey.nemiro.ru/

 

Вопрос #000531: Вопрос_по_C#

Автор вопроса: Александр Абраменков // 08.10.2007 / 13:14

Здравствуйте.
Необходимо реализовать предварительный просмотр файлов, наподобие того, как это делает explorer. Если explorer'у задать вид, как эскиз стриницы, то все файлы отображаются некоторыми картиночками (если это изображение - то уменьшенная копия картинки, если текстовый файл - то картинка блокнотика, и т.д).
Можно ли каким-либо образом получать аналогичные изображения (в формате BITMAP), воспользовавшись, например, функциями explorer'а?
Заранее спасибо.

Отвечает: EROS // 08.10.2007 / 17:03

Чтобы создать уменьшенную копию изображения explorer не нужен. Платформа .NET имеет очень мощные средства для работы с графикой.
Для создания такой копии вам достаточно воспользоваться одним из конструкторов класса Bitmap который в качестве параметра принимает исходное изображение и желаемые размеры картинки. Вам останется только сохраняя пропорцию рассчитать эти размеры и все! Все остальное .NET сделает за вас..
Есть еще масса других способов получения thumbnail средствами NET, но все они несколько сложнее и если Вам не доводилось работать с GDI, то парой слов этого не рассказать.
Если первый способ по каким то причинам Вас не усторит, то вы всегда можете обратиться на на наш форум за разъяснениями.

 


Чтобы задать Ваш вопрос, отправьте его на адрес expert@kbyte.ru

Раздел Эксперт на сайте Kbyte.Ru

Наверх

 

 

Последнее на форумах

помогите узнать мак-адресс програмно | Автор: AmoR
Добавлено: 14.10.2007 / 23:40 | ответов: 1 | просмотров: 32

Прива у мня маленькая проблема не могу получить мак адресс програмно( IP получаю Winsock1.LocalIP)как получить мак на VB v6.0. Зарание спс

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 1 | Автор: Алексей
Добавлено:15.10.2007 / 06:14
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020:
021:
022:
023:
024:
025:
026:
027:
028:
029:
030:
031:
032:
033:
034:
035:
036:
037:
038:
039:
040:
041:
042:
043:
044:
045:
046:
047:
048:
049:
050:
051:
052:
053:
054:
055:
056:
057:
058:
059:
060:
061:
062:
063:
064:
065:
066:
067:
068:
069:
070:
071:
072:
073:
074:
075:
076:
077:
078:
079:
080:
081:
082:
083:
084:
085:
086:
087:
088:
089:
090:
091:
092:
093:
094:
095:
096:
097:
098:
099:
100:
101:
102:
103:
104:
105:
106:
107:
108:
109:
110:
111:
112:
Option Explicit

Private Const NCBASTAT As Long = &H33
Private Const NCBNAMSZ As Long = 16
Private Const HEAP_ZERO_MEMORY As Long = &H8
Private Const HEAP_GENERATE_EXCEPTIONS As Long = &H4
Private Const NCBRESET As Long = &H32

Private Type NET_CONTROL_BLOCK 'NCB
 ncb_command  As Byte
 ncb_retcode  As Byte
 ncb_lsn    As Byte
 ncb_num    As Byte
 ncb_buffer   As Long
 ncb_length   As Integer
 ncb_callname  As String * NCBNAMSZ
 ncb_name    As String * NCBNAMSZ
 ncb_rto    As Byte
 ncb_sto    As Byte
 ncb_post    As Long
 ncb_lana_num  As Byte
 ncb_cmd_cplt  As Byte
 ncb_reserve(9) As Byte 'Reserved, must be 0
 ncb_event   As Long
End Type

Private Type ADAPTER_STATUS
 adapter_address(5) As Byte
 rev_major     As Byte
 reserved0     As Byte
 adapter_type   As Byte
 rev_minor     As Byte
 duration     As Integer
 frmr_recv     As Integer
 frmr_xmit     As Integer
 iframe_recv_err  As Integer
 xmit_aborts    As Integer
 xmit_success   As Long
 recv_success   As Long
 iframe_xmit_err  As Integer
 recv_buff_unavail As Integer
 t1_timeouts    As Integer
 ti_timeouts    As Integer
 Reserved1     As Long
 free_ncbs     As Integer
 max_cfg_ncbs   As Integer
 max_ncbs     As Integer
 xmit_buf_unavail As Integer
 max_dgram_size  As Integer
 pending_sess   As Integer
 max_cfg_sess   As Integer
 max_sess     As Integer
 max_sess_pkt_size As Integer
 name_count    As Integer
End Type

Private Type NAME_BUFFER
 name    As String * NCBNAMSZ
 name_num  As Integer
 name_flags As Integer
End Type

Private Type ASTAT
 adapt     As ADAPTER_STATUS
 NameBuff(30)  As NAME_BUFFER
End Type

Private Declare Function Netbios Lib "netapi32" (pncb As NET_CONTROL_BLOCK) As Byte
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (hpvDest As Any, ByVal hpvSource As Long, ByVal cbCopy As Long)
Private Declare Function GetProcessHeap Lib "kernel32" () As Long
Private Declare Function HeapAlloc Lib "kernel32" (ByVal hHeap As Long, ByVal dwFlags As Long, ByVal dwBytes As Long) As Long
Private Declare Function HeapFree Lib "kernel32" (ByVal hHeap As Long, ByVal dwFlags As Long, lpMem As Any) As Long

Public Function GetMACAddress() As String
 Dim x As Integer
 Dim tmp As String
 Dim pASTAT As Long
 Dim NCB As NET_CONTROL_BLOCK
 Dim AST As ASTAT

 NCB.ncb_command = NCBRESET
 Call Netbios(NCB)

 NCB.ncb_callname = "*        "
 NCB.ncb_command = NCBASTAT

 NCB.ncb_lana_num = 0
 NCB.ncb_length = Len(AST)

 pASTAT = HeapAlloc(GetProcessHeap(), HEAP_GENERATE_EXCEPTIONS Or HEAP_ZERO_MEMORY, NCB.ncb_length)
   
 If pASTAT = 0 Then
  Debug.Print "memory allocation failed!"
  Exit Function
 End If

 NCB.ncb_buffer = pASTAT
 Call Netbios(NCB)

 CopyMemory AST, NCB.ncb_buffer, Len(AST)

 For x = 0 To 5
  tmp = tmp & Right$("00" & Hex(AST.adapt.adapter_address(x)), 2) & "-"
 Next x
       
 tmp = Left(tmp, Len(tmp) - 1)
 HeapFree GetProcessHeap(), 0, pASTAT
 GetMACAddress = tmp
End Function

_______________________
Colorized by: Eros.CodeSyntaxColor Engine


--
С наилучшими пожеланиями,
Немиро Алексей http://aleksey.nemiro.ru/

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


как создать переменную для управлением етим открытым word.doc | Автор: sabina
Добавлено: 14.10.2007 / 04:19 | ответов: 1 | просмотров: 42

есть две части
1) надстройка COM для Office с помощью Visual Basic .NET 2003
2)допустим изменить первую букву в тексте документa, затем сохранить его

Imports Microsoft.Office.Core
imports Extensibility
imports System.Runtime.InteropServices
Imports System.Reflection
Public Class Connect
Implements Extensibility.IDTExtensibility2
Dim WithEvents MyButton As CommandBarButton
Dim applicationObject as Object
dim addInInstance as object
Public Sub OnBeginShutdown(ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnBeginShutdown
On Error Resume Next
' Notify the user you are shutting down, and delete the button.
MsgBox("Our custom Add-in is unloading.")
MyButton.Delete()
MyButton = Nothing
End Sub
Public Sub OnAddInsUpdate(ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnAddInsUpdate
End Sub
Public Sub OnStartupComplete(ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnStartupComplete
Dim oCommandBars As CommandBars
Dim oStandardBar As CommandBar
On Error Resume Next
' Set up a custom button on the "Standard" command bar.
oCommandBars = applicationObject.CommandBars
If oCommandBars Is Nothing Then
' Outlook has the CommandBars collection on the Explorer object.
oCommandBars = applicationObject.ActiveExplorer.CommandBars
End If
oStandardBar = oCommandBars.Item("Standard")
If oStandardBar Is Nothing Then
' Access names its main toolbar Database.
oStandardBar = oCommandBars.Item("Database")
End If
' In case the button was not deleted, use the exiting one.
MyButton = oStandardBar.Controls.Item("My Custom Button")
If MyButton Is Nothing Then
MyButton = oStandardBar.Controls.Add(1)
With MyButton
.Caption = "My Custom Button"
.style="MsoButtonStyle.msoButtonCaption"
' The following items are optional, but recommended.
' The Tag property lets you quickly find the control
' and helps MSO keep track of it when more than
' one application window is visible. The property is required
' by some Office applications and should be provided.
.Tag = "My Custom Button"
' The OnAction property is optional but recommended.
' It should be set to the ProgID of the add-in, so that if
' the add-in is not loaded when a user clicks the button,
' MSO loads the add-in automatically and then raises
' the Click event for the add-in to handle.
.OnAction = "!<MyCOMAddin.Connect>"
.Visible = True
End With
End If

' Display a simple message to show which application you started in.
MsgBox("Started in " & applicationObject.Name & ".")
oStandardBar = Nothing
oCommandBars = Nothing
End Sub

Public Sub OnDisconnection(ByVal RemoveMode As Extensibility.ext_DisconnectMode, ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnDisconnection
On Error Resume Next
If RemoveMode <> Extensibility.ext_DisconnectMode.ext_dm_HostShutdown Then _
Call OnBeginShutdown(custom)
applicationObject = Nothing
End Sub
Public Sub OnConnection(ByVal application As Object, ByVal connectMode As Extensibility.ext_ConnectMode, ByVal addInInst As Object, ByRef custom As System.Array) Implements Extensibility.IDTExtensibility2.OnConnection
MsgBox("On Connection In MyAddin")
applicationObject = application
addInInstance = addInInst
' If you aren't in startup, manually call OnStartupComplete.
If (connectMode <> Extensibility.ext_ConnectMode.ext_cm_Startup) Then _
Call OnStartupComplete(custom)
End Sub
Private Sub MyButton_Click(ByVal Ctrl As Microsoft.Office.Core.CommandBarButton, ByRef CancelDefault As Boolean) Handles MyButton.Click
MsgBox("Our CommandBar button was pressed!")
здесь как создать переменную для управлением етим открытым word.doc

End Sub
End Class

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 1 | Автор: Залетин Виталий Викторович (мь!тарь)
Добавлено:14.10.2007 / 18:01
В OnConnection передается ссылка на приложение, которое загружает эту настройку: ByVal application As Object. Создайте в модуле переменную и присвойте ей этот объект.

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


библиотека MFC42.lib | Автор: Алик
Добавлено: 14.10.2007 / 03:57 | ответов: 3 | просмотров: 58

Здравствуйте, коллеги! Выручайте, может мне на мыло кто-нибудь сбросить библиотеку MFC42.lib. Нужна только библиотека и все. Нигде не могу найти, все ссылки мертвые. Спасибо. Подчеркиваю, нужна LIB!

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 1 | Автор: Алик
Добавлено:14.10.2007 / 03:59
Прошу прощения, ящик blondy82@list.ru

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 2 | Автор: Алексей
Добавлено:14.10.2007 / 06:37
См. аттач.

Вот еще ссылка: http://activex.microsoft.com/controls/vc/mfc42.cab, может пригодится ;)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 3 | Автор: Алик
Добавлено:14.10.2007 / 10:15
Алексей, спасибо за помощь, все супер. Очень долго искал, а VC у меня нет.

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


калькулятор в С# | Автор: werwoolf
Добавлено: 13.10.2007 / 22:42 | ответов: 4 | просмотров: 66

помогите кто может надо соорудить калькулятор в C# точно такой же как и в Windows(стандартный) .
у меня неполучаются математические действия тоесть + - * / .

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 1 | Автор: Алексей
Добавлено:14.10.2007 / 06:23
Ну так в чем проблема? Более точнее поставьте вопрос.
В классе Math по-моему есть все, что может понадобиться для создания стандартного калькулятора:

MSDN 2005


E - Represents the natural logarithmic base, specified by the constant, e.
PI - Represents the ratio of the circumference of a circle to its diameter, specified by the constant, ѓО.
Abs - Overloaded. Returns the absolute value of a specified number.
Acos - Returns the angle whose cosine is the specified number.
Asin - Returns the angle whose sine is the specified number.
Atan - Returns the angle whose tangent is the specified number.
Atan2 - Returns the angle whose tangent is the quotient of two specified numbers.
BigMul - Produces the full product of two 32-bit numbers.
Ceiling - Overloaded. Returns the smallest integer greater than or equal to the specified number.
Cos - Returns the cosine of the specified angle.
Cosh - Returns the hyperbolic cosine of the specified angle.
DivRem - Overloaded. Calculates the quotient of two numbers and also returns the remainder in an output parameter.
Equals - Overloaded. Determines whether two Object instances are equal. (Inherited from Object.)
Exp - Returns e raised to the specified power.
Floor - Overloaded. Returns the largest integer less than or equal to the specified number.
GetHashCode - Serves as a hash function for a particular type. GetHashCode is suitable for use in hashing algorithms and data structures like a hash table. (Inherited from Object.)
GetType - Gets the Type of the current instance. (Inherited from Object.)
IEEERemainder - Returns the remainder resulting from the division of a specified number by another specified number.
Log - Overloaded. Returns the logarithm of a specified number.
Log10 - Returns the base 10 logarithm of a specified number.
Max - Overloaded. Returns the larger of two specified numbers.
Min - Overloaded. Returns the smaller of two numbers.
Pow - Returns a specified number raised to the specified power.
ReferenceEquals - Determines whether the specified Object instances are the same instance. (Inherited from Object.)
Round - Overloaded. Rounds a value to the nearest integer or specified number of decimal places.
Sign - Overloaded. Returns a value indicating the sign of a number.
Sin - Returns the sine of the specified angle.
Sinh - Returns the hyperbolic sine of the specified angle.
Sqrt - Returns the square root of a specified number.
Tan - Returns the tangent of the specified angle.
Tanh - Returns the hyperbolic tangent of the specified angle.
ToString - Returns a String that represents the current Object. (Inherited from Object.)
Truncate - Overloaded. Calculates the integral part of a number.

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 2 | Автор: werwoolf
Добавлено:14.10.2007 / 13:21
задача у меня такая

1) вводим число в textbox.
2) жмем на кнопку "+".
3) и в этот же textbox пишем другое число.
4) жмем на "=" .
5) в том же textbox выводится ответ.

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 3 | Автор: Алексей
Добавлено:14.10.2007 / 15:37
Используйте переменные. Например:
001:
002:
003:
004:
005:
006:
007:
private string action = ""; // действие
private double a = 0; // первая переменная
private double b = 0; // вторая переменная
private int step = 0; // шаг

_______________________
Colorized by: Eros.CodeSyntaxColor Engine

Если вводится первое число (step = 0), то присваиваем его
переменной a, дальше запоминаем действие (action), которые нужно
выполнить, и затем, второе число присваиваем переменной b:
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
if (step == 0)
{
 a = Convert.ToDouble(textBox1.Text);
 step += 1;
}
else
{
 b = Convert.ToDouble(textBox1.Text);
}

_______________________
Colorized by: Eros.CodeSyntaxColor Engine


Для кнопки равно можно написать примерно такой код:
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020:
021:
022:
023:
024:
025:
026:
027:
028:
switch (action)
{
 case "+": // сложение
  textBox1.Text = (a + b).ToString();
  break;
  
 case "-": // вычитание
  textBox1.Text = (a - b).ToString();
  break;

 case "*": // умножение
  textBox1.Text = (a * b).ToString();
  break;

 case "/": // деление
  textBox1.Text = (a / b).ToString();
  break;

 default:
  textBox1.Text = (a + b).ToString();
  break;

}

step = 0;

_______________________
Colorized by: Eros.CodeSyntaxColor Engine


_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 4 | Автор: werwoolf
Добавлено:14.10.2007 / 19:03
пасиб

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


А вот это уже серъёзно! | Автор: Игорь Голов
Добавлено: 13.10.2007 / 20:24 | ответов: 5 | просмотров: 79

А вот это очень серъёзно!

http://futurefairness.livejournal.com/#item2964

В кратце суть всего этого такова:

"Законотворцы" продвигают проект, согласно которому занятие профессиональной деятельностью без лицензии для нас с Вами становится очень проблематичным!
Жду Ваших комментариев по указанному адресу или здесь!
Нужна крепкая волна, чтобы прекратить это всемирное позорище!

Ответить на это сообщение | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 1 | Автор: AWP
Добавлено:13.10.2007 / 20:45
М-да, это ж после какого бодуна можно было творить такие поправки?
Вон в Великобритании приняли закон, официально разрешающий прослушивать (подслушивать) телефоны и читать (подглядывать) электронную почту.
Видно и российские "борцы с неизвестно кем" решили не отставать.
По моему глубокому внутреннему убеждению, это полный маразм...
А как же тогда соревнования по программированию, обучение школьников и студентов программированию и т.д.?

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 2 | Автор: Алексей
Добавлено:14.10.2007 / 05:26
Да, бредовые законы в последнее время частенько мелькают в сети, и
везде фигурирует ЕР. Смахивает на какой-то пиар.. или антипиар.

Хотя, заглянул на их сайт: http://www.edinros.ru/, сразу
наткнулся на новость: "SMS-сообщения на латинице признаны незаконными":
Россвязьохранкультура признала незаконной рассылку мобильными
операторами рекламных и информационных сообщений, написанных
латиницей...
читать дальше..


Так что вполне возможно, что они там действительно коллективно употребляют что-то запрещенное :-)

--
С наилучшими пожеланиями,
Немиро Алексей http://aleksey.nemiro.ru/

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 3 | Автор: SocrAT
Добавлено:14.10.2007 / 11:39
Люди, да вы что???!!!!

Цитата:
Кроме того, указанным проектом Федерального закона
предусматривается необходимость лицензирования издательской,
полиграфической деятельности, деятельности по воспроизведению программ для ЭВМ
и баз данных на любых видах носителей, деятельности по производству оборудования,
предназначенного для воспроизведения (изготовления экземпляров) ...



Здесь говорится про тиражирование носителей...

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 4 | Автор: Игорь Голов
Добавлено:14.10.2007 / 14:15
Правильно!
Скопировал Инфу с харда на DVD - растиражировал носитель!

Тиражирование = копирование.
Вот так мы все приедем на Колыму :))

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Ответ # 5 | Автор: Алексей
Добавлено:14.10.2007 / 15:37
Не согласен, тиражирование и копирование - разные вещи, да и цели этой
операции тоже должны играть большое значение (комерческое и личное использование).

Wiki:
Тираж — общее число экземпляров издания. Различают тираж годовой,
дополнительный (допечатка тиража), общий, пробный, разовый, средний
(частное от деления суммы тиражей всех рассматриваемых изданий на их
число).
Закон РФ «Об авторском праве и смежных правах» требует
указывать в авторском договоре максимальный тираж издания в том
случае, если договор предусматривает авторское вознаграждение в виде
фиксированной суммы.

Wiki:
Копия (от лат. copia — множество):
* в юриспруденции - точное воспроизведение текста какого-либо
документа. Копия, заверенная в нотариальном порядке, имеет такую же
юридическую силу, как и подлинник.
* в пластических искусствах - художественное
произведение, повторяющее другое произведение и исполненное самим
автором либо другим художником. Копия может отличаться от оригинала по
технике и размерам, но, в отличие от реплики, должна точно
воспроизводить манеру и композицию оригинала.


Да и кто будет запрещать частным лицам записывать данные на CD/DVD,
это физически не возможно реализовать.
Максимум могу запретить продажу болванок, но с такой же радостью можно
запретить выпуск любой другой продукции, и кроме дефицита, высоких цен и
появления черного рынка, это ни к чему хорошему не приведет.

Но это действительно маразм, а поскольку я не юрист, то не исключена
неправильная интерпретация этого закона. Да и вообще, кто-нибудь читал
полностью весь УК РФ? Я уверен, что там и так хватает подобных
законов, о которых многие даже не знают. А еще есть много других
кодексов, при всем желании даже самый матерый юрист всего знать не
может, не говоря уже о рядовых гражданах.

_________________
Это сообщение добавлено через Kbyte.Ru Forum Mail Conference (FMC)

Добавить ответ | Посмотреть эту тему на сайте | Форум Kbyte.Ru


Наверх

 

Последние статьи

Взаимодействие с другими сайтами через HTTP (HttpWebRequest и HttpWebResponse)
Автор: Немиро Алексей | добавлено: 27.07.2007 / 14:01 | просмотров: 1020

В данной статье речь пойдет о том, как можно программно заполнить и отправить Web-форму, а также получить результат с использованием довольно простых классов - HttpWebRequest и HttpWebResponse.

Работа с SQL – Запросы
Автор: Хабибулин А. (aka Bille Gates) | добавлено: 22.07.2007 / 04:43 | просмотров: 1768

В данной статье рассмотрены часто используемые SQL-запросы и приведены примеры их использования.

Использование XML.Serialization
Автор: Немиро Алексей | добавлено: 19.07.2007 / 15:38 | просмотров: 487

В данном обзоре речь пойдет об использование XML.Serialization в .NET и ее применении на примере сохранения и считывания настроек программы с использованием синтаксиса языка Visual Basic .NET.

Выбор языка программирования для научных работ (2-я редакция)
Автор: Юдин С. Ю. | добавлено: 15.03.2007 / 02:49 | просмотров: 2416

Идея написания этой статьи возникла после того, как на одном из сайтов по физике http://physics.nad.ru/aniboard/messages/291.html я обнаружил интересный алгоритм моделирования движения тела в поле постоянной напряженности по различным направляющим. Вернее, меня заинтересовал не весь алгоритм, т.к. основа их всех одна (принцип Даламбера, если не считать квазиалгоритма с применением уравнений Лагранжа 2-го рода) и различаются они только способом определения реакций в месте соприкосновения тел. ...

Работаем с MIME
Автор: Немиро Алексей | добавлено: 29.11.2006 / 14:46 | просмотров: 2316

Не так давно мне пришлось немного поработать MIME (Multipurpose Internet Mail Extension) - это стандарт почтовых сообщений, в РуНете (Russian Internet) я не нашел нормального описания спецификации MIME, и посему решил написать небольшую статейку на эту тему. В данной статье вы узнаете об основных особенностях и стандартах MIME, а также научитесь «читать» MIME с использованием синтаксиса языка Visual Basic .NET 2005.

 

Статьи на Kbyte.Ru

Наверх

 

Интересные коды и решения

Поиск окна по заголовку
Дата добавления: 31.07.2006 / 12:52 | просмотров: 857 | платформа: VB

Удаление куков (Cookies)
Дата добавления: 31.07.2006 / 15:57 | просмотров: 801 | платформа: ASP .NET (VB)

Как преобразовать десятичное число в шестнадцатеричное?
Дата добавления: 16.08.2006 / 20:25 | просмотров: 1086 | платформа: VB

Как поменять стиль у всех контролов на форме (Form)?
Дата добавления: 24.03.2007 / 11:59 | просмотров: 417 | платформа: VB .NET

Как программно закрыть форму?
Дата добавления: 01.08.2006 / 17:20 | просмотров: 756 | платформа: VB .NET

Как связать расширение файла с приложением?
Дата добавления: 04.08.2006 / 08:56 | просмотров: 986 | платформа: VB .NET

Как проверить корректность E-Mail?
Дата добавления: 17.08.2006 / 18:18 | просмотров: 974 | платформа: VB

Как добавить новые данные в базу данных?
Дата добавления: 31.07.2006 / 18:33 | просмотров: 873 | платформа: ASP

Получение имен классов и всех заголовков доступных окон системы
Дата добавления: 31.07.2006 / 12:50 | просмотров: 851 | платформа: VB

Запись куков (Cookies)
Дата добавления: 01.08.2006 / 12:00 | просмотров: 864 | платформа: ASP

 

Универсальные коды на Kbyte.Ru

Наверх

 

Юмор на Kbyte.Ru

Идет третий этап завершения продолжения окончания установки Microsoft Office 2000

 

Рейтинг: 80
Всего голосов: 164
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Знаете, что такое Plug&Play в Windows? "Нашёл у вас не знаю что, подайте мне диск не знаю с чем".

Прислал MAGICIAN

 

Рейтинг: 803
Всего голосов: 1193
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Конфеты для программистов: "Мышки на сервере".

 

Рейтинг: 419
Всего голосов: 696
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Благодаря американской компьютеризированной системе выборов президента, тысячи российских хакеров смогли принять участие в голосовании...

 

Рейтинг: 189
Всего голосов: 256
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Новый русский поймал золотую рыбку. Та просит: "Ну отпусти меня, мужик, пожалуйста!"
Тот сжалился, отпустил, повернулся и пошёл. Рыбка в шоке: "Слышь, мужик, а три желания?!"
Новый русский: "Ну, рыбка, ты обнаглела! Ладно, загадывай."

 

Рейтинг: 160
Всего голосов: 224
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

- Дети, что для вас было труднее всего в третьем классе?
- Объяснять продавщице, для кого покупается водка!

 

Рейтинг: 428
Всего голосов: 691
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Контоpа наша сильно компьютеpизована, а охpана от безделья мается. Вот и пpиходилось их вечеpом, когда никого нет, иногда пускать поигpать на компьютеpе. Из-за великого облома, мне лень было ставить какую-либо игpу окpомя Quake. Так и получилось, что игpают охpанники наши только в Quake. Как-то pаз позвонили им из центpальной контоpы, с пpовеpкой - все ли ноpмально. И вот, значит, один из них, зажав тpубку между ухом и плечом и односложно отвечая на вопpосы, пытается убить очеpедного монстpа. Однако, pазговоp его отвлекает, и получается, что скоpее монстp сейчас сделает охpанника, а не охpанник монстpа. В конце концов настыpное виpтуальное создание тоpжествует победу над человеческим pазумом. И как pаз в этот момент охpанник, видимо, на заданный в очеpедной pаз вопpос:
- Hу и как там тебе, - pычит в тpубку, от волнения сьезжая на хpип
- Да хреново мне, убивают меня! Понятно?, - и бpосает
тpубку
Реакция системы охpаны и милиции была пpактически мгновенной. Пpимеpно чеpез пять минут в двеpи офиса уже ломился наpяд милиции, ожидая встpетить гpабителей, убивающих нашу охpану. Охpана, увидев непонятных мужиков (а кто сейчас веpит фоpме) пpиготовилась отбиваться из пушек или отсиживаться за толстой стальной двеpью (втоpое более веpоятно). К счастью, инцидент был быстpо исчеpпан, но больше охpана в игpы не игpала.

 

Рейтинг: 104
Всего голосов: 153
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Человеку свойственно ошибаться, и он пользуется этим свойством часто и с удовольствием

 

Рейтинг: 165
Всего голосов: 241
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Это поyчительная истоpия о пользе знания сленговых выpажений в общении с пpостыми смеpтными, кои компьютеp видели лишь по TV...
Итак, идy по yлице, подходит гpyппа молодых людей, лет 17-18 от pодy, пpосят закypить... Я, как человек давно кypящий, отказать не могy, а посемy yделяю им паpочкy Camel-ов... Далее пpосят спичкy... Щелкаю Zippo-ой... Пpосят денег на доpогy до дома 8-(..)
(Они) - Ты, в натypе, чо, денег дашь?
(Я) - А зачем вам деньги ? :)
(О) - Ты чо, в натypе, Вася, обоpзел?
(Я) - Ты кого за мастдай юзаешь, ламеp виснyтый?
(О) - лица вытягиваются...
(Я) - Вы же меня анноите, сyкси...
(О) - Hy ты чего, мyжик, офигел?
(Я) - Я ведь сейчас Фаpидy нетмейл кинy, вы ведь все в пожизненный даyн осыпетесь, как девяносто пятый...
(О) - Hе, бpатан, давай pазбеpемся, кто ты такой? 8-()
(Я) - Мальчики, я ФИДОшный поинт, а вы даже на блевавщиков не тянете, только скpипите чего-то на две четыpеста без коppекции...
(О) - Чего делаем 8-(.............)
(Я) - Скpипите, пpичем без намека на коннект...
(О) - Ты чего, кpyтой?
(Я) - Схэнг-апнись, бага... Твое место - за тысячной Амигой...
(О) - Hе, нy ты чо? Hет денег, так и скажи, а чо наезжать-то????
(Я) - А еще pаз yвижy вас здесь, комплейн напишy NEC-y, и пpо вас и поинты ваши забyдyт... Тискайте альт-аш и pвите отседа.......

Hе скажy, что yбежали, но двигались не в пpимеp шyстpее, нежели ко мне... Так что yчите спец. словечки, кpyто, в натypе... :)))))

 

Рейтинг: 159
Всего голосов: 253
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Пpогpаммеpы квасят на пpиpоде. Идут pазговоpы, тpали-вали... Один рассказывает:
- Познакомился тут с девушкой на дискотеке! Бесподобная деваха! И фигуpка, и мозги есть, и танцует хоpошо!
Так вот, pешил pickup'нуть ее к себе домой. Пpигласил, она согласилась. Пpишли, выпили винца, поговоpили о том, о сем, музыку послушали. Потом я ее поцеловал, пpиподнял аккуpатно, посадил задницей на клавиатуpу, поднял юбку...
Остальные:
- Так у тебя компутеp дома стоит?!?! А какой???

 

Рейтинг: 177
Всего голосов: 260
Оцените этот анекдот через E-Mail:
Выберите оценку: 5 | 4 | 3 | 2 | 1

 

Весь юмор на Kbyte.Ru

Наверх


Выпуск подготовил: R-KDR-19826

Редактор: Немиро Алексей

Copyright (c) Nemiro AS, 2005-2007


В избранное