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

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



Выпуск # 253


http://www.kbyte.ru/

 

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

Доброе время суток!
Меня зовут R-KDR-19826, представляю Вам очередной выпуск рассылки Kbyte.Ru!

 

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

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

    Вопрос #000700: Localization in ASP.NET2.0

    Вопрос #000699: Наследование_форм_в_C#

    Вопрос #000696: локализация_в_ASP.NET2.0

    Вопрос #000665: Параметры в VB6

    Вопрос #000639: Как програмно считать разрешение из видео файл...

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

    Добавление данных в базу Accsess

    Аналог функции Unescape

    Динамическое выполнение кода

    Люди памагите умираю!!! Изменение позиций на бэке!!!

    Вывод данных из базы Access в форму

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

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

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

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

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

    Работаем с MIME

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

Юмор на Kbyte.Ru

 

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

 

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


Вопрос #000700: Localization in ASP.NET2.0

Автор вопроса: Taleh Mikailov // 23.01.2008 / 12:43

Доброго времени суток!
Пытаюсь програмно поменять культуру, при нажатии на ImageButton, каждый ImageButton-это флаг страны.
Так же, как на вашем сайте!
Так вот для примера поставил только 2-флага, чтобы проверить работает или нет...
Но к сожалению не работает!!!
-------------------------
using System;

using System.Data;

using System.Configuration;

using System.Web;

using System.Web.Security;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Web.UI.WebControls.WebParts;

using System.Web.UI.HtmlControls;

using System.Resources;

using System.Globalization;

using System.Threading;

public partial class _Default : System.Web.UI.Page

{

protected string language = "en";

protected void Page_Load(object sender, EventArgs e)

{

}

protected override void InitializeCulture()

{

if (language.Trim() != UICulture.ToString())

{

Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(language);

}

base.InitializeCulture();

}


protected void SetCulture(string lang)

{

language = lang;

}

protected void ibtnFr_Click(object sender, ImageClickEventArgs e)

{

SetCulture("fr");

}

protected void ibtnEn_Click(object sender, ImageClickEventArgs e)

{

SetCulture("en");

}

}

-------------------------
Что я делаю не так ???
Помогите пожалуйста разобраться !!!

И еще вопрос: в чем разница между App_LocalResources и App_GlobalResources ???
В каком случае необходимо создавать -App_GlobalResources ?

Заранее благодарю!

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

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

ru, en, fr по-моему работать не будет, надо полностью указывать:
ru-RU
en-US
fr-FR
uk-UA
и т.п.

Код у вас тоже довольно непонятный.
Процедура SetCulture() бессмысленна, т.к. он всего лишь передает переменной language название указанного языка, при том, что инициализация культуры происходит гораздо раньше, чем вызов SetCulture(), и следовательно культура остается дефолтная.

Также, в вашем коде всегда будет выполняться это условие:
001:
002:
003:
004:
if (language.Trim() != UICulture.ToString())
{
 Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(language);
}

т.к. language.Trim() != UICulture, поскольку UICulture будет возвращать код культуры в формате xx-XX.

Можно сделать примерно так:

001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
protected void SetCulture(string lang)
{
 if (!Threading.Thread.CurrentThread.CurrentUICulture.Name.ToLower().StartsWith(lang))
 {
  Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo(lang);
  Response.Redirect(Request.RawUrl);
 }
}

protected void ibtnFr_Click(object sender, ImageClickEventArgs e)
{
 SetCulture("fr-FR");
}

protected void ibtnEn_Click(object sender, ImageClickEventArgs e)
{
 SetCulture("en-US");
}

Имена файлов ресурсов должны быть соответствующие (Default.aspx.fr-FR.rext, Default.aspx.en-US.resx)

И еще вопрос: в чем разница между App_LocalResources и App_GlobalResources

App_LocalResources - локальные ресурсы, доступные только на указанной странице, а App_GlobalResources - глобальные ресурсы, доступные для всего приложения.

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

Отвечает: Алексей Немиро // 25.01.2008 / 05:28

Для наглядности, написал небольшой пример:
http://kbyte.ru/code/Show.aspx?id=106

 

Вопрос #000699: Наследование_форм_в_C#

Автор вопроса: Andrey Scherbina // 23.01.2008 / 11:21

Здравствуйте.
У меня такая проблема. Я хочу создать дочернюю форму в проекте (среда разработки VisualStudio 2005). У меня есть форма sp, которая должна стать родителем. В обозревателе проектов выбираю вставку нового элемента, указываю Inherited Form. Появляется список из имеющихся у меня форм, среди которых есть нужная мне sp. Я её выбираю и мне выдаёт ошибку: "Не удается найти шаблоны элементов проекта для унаследованных компонентов".
Может, что подскажете?

Отвечает: Алексей Немиро // 23.01.2008 / 13:38

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

У родительской формы установите свойство IsMdiContainer = True, у дочерней в свойстве MdiParent укажите родительсткую форму.

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

 

Вопрос #000696: локализация_в_ASP.NET2.0

Автор вопроса: Taleh Mikailov // 22.01.2008 / 15:43

Доброго времени суток!
Случайно наткнулся на ваш сайт и решил спросить.
Среда MVS2005, C#, ASP.NET
Дело в том, что нужно реализовать локализацию Веб Приложения, на форме которой находятся парочка Labels и около 8 Links.
Все это дело хочу сделать с помощью флажков стран, которые будут находится в верхней части экрана.
При нажатии на определенный флаг,пользователи приложения должны увидеть текст всех контролей на выбранном языке.
Очень хотелось бы понять как это должно быть реализованно грамотно.
Заранее благодарю!

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

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

Для этого используйте ресурсы. Чтобы автоматически сгенерировать файлы
ресурсов для конкретной страницы, перейдите в режим дизайнера и
выберите меню Tools => Generate Local Resource, в одной папке
со страницей должна появиться папка App_LocalResources, а в ней
файл с именем ИмяСтраницы.resx. В нем вы можете указать значения
текстовых элементов по умолчанию. Для других культур файлы ресурсов
создаются вручную, имя файла должно иметь следующий формат
ИмяСтарицы.Культура.resx. Например, есть страница Default.aspx, для
нее файл ресурсов будет такой: Default.aspx.resx, для английской
культуры такой – Default.aspx.en-US.resx, и т.д. Коды культу можно
посмотреть в MSDN, на
худой конец в WikiPedia :)

Программно поменять культуру можно так:
001:
Threading.Thread.CurrentThread.CurrentUICulture = New System.Globalization.CultureInfo("Код культуры")


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

 

Вопрос #000665: Параметры в VB6

Автор вопроса: Сергей // 06.01.2008 / 05:11

С Новым Годом, Эксперты!
У меня такая вот проблема в моей апликухи на VB6:
Передаю апликухе в качестве входного параметра имя файла
"C:\Program Files\Экзаменатор\Экзаменатор.exe" "Test_10_kl.ekz" - (примерно такой параметр:)
а где мне его в VB найти?:( Вот в Delphi7 входной параметр := -ца значению функции ParamStr.
И потом с этим пораметром делаем чё хотим...
А как на Visual Basiс-e не знаю :-(
Так вот есть ли в VB6 подобная функциия или переменная ну или какой другой способ?
Будьте добры подскажите пожалуйста...!)
Зараннее благодарен... 8-)


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

Отвечает: Алексей Немиро // 06.01.2008 / 05:19

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

В Visual Basic для этого используется функция Command


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

 

Вопрос #000639: Как програмно считать разрешение из видео файл...

Автор вопроса: Fox // 06.12.2007 / 11:15

Добрых суток
У меня вопрос как програмно считать разрешение из видео файла при помощи C#?

Отвечает: Алексей Немиро // 08.12.2007 / 07:24

Наиболее оптимальным вариантом будет открыть видио-файл, получить необходимые данные и закрыть.
Вот небольшой пример:

1. Подключите к проекту Microsoft.DirectX.AudioVideoPlayback.
2. Разместите на форме элемент openFileDialog:
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
 int height = this.Height;
 int width = this.Width;
 Video _video = new Video(openFileDialog1.FileName);
 _video.Owner = this;
 videoPanel.Width = width;
 videoPanel.Height = height;
 _video.Play();
 _video.Pause();
 Console.WriteLine("Ширина: " + _video.DefaultSize.Width);
 Console.WriteLine("Высота: " + _video.DefaultSize.Height);
}

В коносли должен появиться размер видео-файла.

 


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

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

Наверх

 

 

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

Добавление данных в базу Accsess | Автор: BigDan
Добавлено: 25.01.2008 / 12:29 | ответов: 1 | просмотров: 31

Всем доброе утро, добрый день или добрый вечер! Люди есть такая проблемка есть база данных в аксесе есть такой код (см. ниже) но почему то не записываються данные в базу самле интересное что на разных компах и на разных браузерах работает по разному где то етот скрипт хаваесться где то нет а должно везде объясните что к чему вот код

<%
id=int(request.QueryString("id"))

Set Conn = Server.CreateObject("ADODB.Connection")
dbPath = Server.MapPath("menus.mdb")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & dbpath
Set rs = Server.CreateObject("ADODB.Recordset")
strSQL = "SELECT * FROM menus"
rs.Open strSQL, Conn,2,2

if len(Request("myName")) > 0 Then

rs.AddNew

rs("menus_category") = Request("myName")

rs.Update

end if

rs.close
Conn.Close

Set rs = Nothing
Set Conn = Nothing

response.Write("<script type=text/javascript> window.close(); </script>")

%>

и выкидывает такую ошибку в броузере


Обновление невозможно. База данных или объект доступны только для чтения.
/test/site/cpanel/add_gategory.asp, line 26

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


Ответ # 1 | Автор: Алексей
Добавлено:25.01.2008 / 14:02
интересное что на разных компах и на разных браузерах работает по разному где то етот скрипт хаваесться где то нет а должно везде объясните что к чему

браузер тут точно не причем :) если ты этот код переносишь на другие компы, то скорей всего либо у тебя действительно все ReadOnly, либо просто нет прав на запись данных, настрой IIS, настрой доступ к файлам, и все будет ok.

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


Аналог функции Unescape | Автор: Игорь Голов
Добавлено: 24.01.2008 / 13:00 | ответов: 1 | просмотров: 55

Доброго времени суток!
Возникла необходимость написать аналог функции unescape, которая

оценивает аргумент x как строку, декодирует ее из формата URL-encoded (конвертирует все HEX-последовательности в ASCII символы) и возвращает опять в виде строки.


и сделать её универсальной с помощью регулярных выражений так, чтобы код:

001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
%3C%73%63%72%69%70%74%20%6C%61
%6E%67%75%61%67%65%3D%22%6A%61%76%61%73%63%72%69%70%74%22%3E%6
6%75%6E%63%74%69%6F%6E%20%64%46%28%73%29%7B%76%61%72%20%73%31%3
D%75%6E%65%73%63%61%70%65%28%73%2E%73%75%62%73%74%72%28%30%2C%
73%2E%6C%65%6E%67%74%68%2D%31%29%29%3B%20%76%61%72%20%74%3D%27
%27%3B%66%6F%72%28%69%3D%30%3B%69%3C%73%31%2E%6C%65%6E%67%74%6
8%3B%69%2B%2B%29%74%2B%3D%53%74%72%69%6E%67%2E%66%72%6F%6D%43
%68%61%72%43%6F%64%65%28%73%31%2E%63%68%61%72%43%6F%64%65%41%74
%28%69%29%2D%73%2E%73%75%62%73%74%72%28%73%2E%6C%65%6E%67%74%6
8%2D%31%2C%31%29%29%3B%64%6F%63%75%6D%65%6E%74%2E%77%72%69%74%
65%28%75%6E%65%73%63%61%70%65%28%74%29%29%3B%7D%3C%2F%73%63%72
%69%70%74%3E


превращался в

001:
<script language="javascript">function dF(s){var s1=unescape(s.substr(0,s.length-1)); var t='';for(i=0;i<s1.length;i++)t+=String.fromCharCode(s1.charCodeAt(i)-s.substr(s.length-1,1));document.write(unescape(t));}</script>


Мой собственный код таков:
001:
002:
003:
004:
005:
006:
007:
008:
009:
010:
011:
012:
013:
014:
015:
016:
017:
018:
019:
020:
021:
022:
023:
Public Function UnEscape(ByVal InputString As String) As String
    Dim OutputString As String = ""
    Dim Match As MatchCollection
    Dim MediumStr As String = ""
    Dim Ball As String = ""
    Dim k As Integer = 0

    Dim RegExpr As New Regex("\d\w{1,}?", RegexOptions.IgnoreCase Or RegexOptions.Singleline Or RegexOptions.IgnorePatternWhitespace)
    Match = Regex.Matches(InputString, "\d\w{1,}?", RegexOptions.IgnoreCase Or RegexOptions.Singleline Or RegexOptions.IgnorePatternWhitespace)

    For i = 0 To Match.Count - 1
      k = InStr(InputString, Match.Item(i).Value.ToString, CompareMethod.Text)
     
      Ball = Chr(Val("&h" & Match.Item(i).Value.ToString))
      MediumStr = MediumStr + Replace(InputString, Match.Item(i).Value.ToString, Ball)
    Next
    Return MediumStr



  End Function

Colorized by: Eros.CodeSyntaxColor Engine


Но, к сожалению, этот код выдаёт невнерные результаты. Что я делаю не так? И как будет правильно?

Спасибо!



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


Ответ # 1 | Автор: Алексей
Добавлено:24.01.2008 / 13:07
Мой собственный код таков:

лясипед!

Проект -> Адд референс -> System.Web

Imports System.Web

HttpUtility.UrlDecode("%3C%73%63%72%69%70%74%20%6C%61
%6E%67%75%61%67%65%3D%22%6A%61%76%61%73%63%72%69%70%74%22%3E%6
6%75%6E%63%74%69%6F%6E%20%64%46%28%73%29%7B%76%61%72%20%73%31%3
D%75%6E%65%73%63%61%70%65%28%73%2E%73%75%62%73%74%72%28%30%2C%
73%2E%6C%65%6E%67%74%68%2D%31%29%29%3B%20%76%61%72%20%74%3D%27
%27%3B%66%6F%72%28%69%3D%30%3B%69%3C%73%31%2E%6C%65%6E%67%74%6
8%3B%69%2B%2B%29%74%2B%3D%53%74%72%69%6E%67%2E%66%72%6F%6D%43
%68%61%72%43%6F%64%65%28%73%31%2E%63%68%61%72%43%6F%64%65%41%74
%28%69%29%2D%73%2E%73%75%62%73%74%72%28%73%2E%6C%65%6E%67%74%6
8%2D%31%2C%31%29%29%3B%64%6F%63%75%6D%65%6E%74%2E%77%72%69%74%
65%28%75%6E%65%73%63%61%70%65%28%74%29%29%3B%7D%3C%2F%73%63%72
%69%70%74%3E"
)

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


Динамическое выполнение кода | Автор: Паша
Добавлено: 22.01.2008 / 21:20 | ответов: 34 | просмотров: 648

Знаю, что компилятор программно вызывается из VBCodeProvider/CSCodeProvider. Но как оргранизовать компиляцию? Как ошибки найти? Приведите пример.

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


Ответ # 1 | Автор: EROS
Добавлено:22.01.2008 / 22:44
Забудь ... Эта идея изначально обречена на провал по нескольким причинам...
Во первых.. никто не будет писать в твоем блокноте код и потом компилировать его, для этого есть специальные среды разработки, либо это можно сделать через обычную командную строку. Налицо будет явная невостребованность этой функциональности
Во вторых.. если с компиляцией особых проблем нету, то вот с отладкой написанного кода будут ооооочень большие проблемы. Тебе придется писать свой синтаксический анализатор для парсинга кода. Ты даже подсветку кода не в состоянии сам сделать - взял готовый контрол.. Если даже ты и родишь жалкое подобие анализатора, то наверняка он будет кривой и с багами.. Эта задача явно не для одного человека и далеко не на 1 месяц, это очень серьезная задача, для серьезной команды..
В третьих.. Задуманная тобой функциональность по компиляции кода явно выходит за рамки блокнота.. Блокнот должен предоставлять максимально широкие возможности форматирования, конвертации и работы с ТЕКСТОМ, но никак не должен выполнять роль IDE.. Если развивать мысль дальше, то почему бы из блокнота не сделать Photoshop? Надеюсь аналогия понятна...
В четвертых ... продолжи на свое усмотрение...

Из вышесказанного можно сделать вывод, ЕСЛИ даже тебе и удастся все это реализовать (ЕСЛИ), то этот функционал однозначно не будет востребован.. И остается справедливый вопрос: Нафига тогда даже браться за задачу, котоая обречена?

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


Ответ # 2 | Автор: 5acred Phoenix
Добавлено:22.01.2008 / 23:33
EROS, оу.. по-моему слишком критично :)) В дот-нэте есть средства для программной компиляции кода в сборку и её рантаимной подгрузки. Насколько я понял, автор хочет не IDE, а что-то вроде скриптового языка. Это вполне можно сделать. Единственное, энд-юзеры должны будут знать VB.NET/C#, чтобы успешно писать скрипты :))
На VbNet.Ru где-то был пример как раз по этой теме.

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


Ответ # 3 | Автор: 5acred Phoenix
Добавлено:23.01.2008 / 00:00
А вообще, вот: http://www.aboutmydot.net/index.php/compile-and-execute-code-at-runtime

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


Ответ # 4 | Автор: EROS
Добавлено:23.01.2008 / 02:54
5acred Phoenix
В дот-нэте есть средства для программной компиляции кода в сборку и её рантаимной подгрузки

Спасибо, я в курсе если что :-))) Я же говрю, компиляция и подгрузка это мелочи, детский сад.
Насколько я понял, автор хочет не IDE, а что-то вроде скриптового языка

А в чем смысл этого языка? Приведи пример его использования. Как ты будешь дебажить этот код в его блокноте? А без всплывающих подсказок писать код по памяти - это уже слишком. Разве упомнишь названия всех методов, пространств имен и т.д? И потом.. если я в состоянии написать код на VB.NET/C# зачем мне это делать в блокноте? Где смысл? К скриптовому языку также придется делать парсер и синтаксический анализатор, а это ты сам понимаешь какой объем работы. А теперь задумайся - оно того стоит?

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


Ответ # 5 | Автор: EROS
Добавлено:23.01.2008 / 02:59
На VbNet.Ru где-то был пример как раз по этой теме.

Этот пример как раз я и писал несколько лет назад :-)

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


Ответ # 6 | Автор: Алексей
Добавлено:23.01.2008 / 06:18
EROS +1
Даже если речь идет о макросах, то в блокноте они будут лишними.

Этот пример как раз я и писал несколько лет назад :-)

мир круглый :)

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


Ответ # 7 | Автор: Паша
Добавлено:23.01.2008 / 08:40
EROS:
Раз пишут через командную строку, значит будут писать и через блокнот (мой) т. к. это удобнее.
Phoenix:
Нет, речь идёт о компиляции языков VBNET/С#
EROS:
Хочу написать парсер языка VB, но после того как блокнот доведу до ума.
Поэтому я надеюсь, что хотя-бы кто-нибудь этим заинтересуется

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


Ответ # 8 | Автор: Алексей
Добавлено:23.01.2008 / 09:00
И как ты планируешь реализовать сам процесс компиляции, чтобы он был удобным? Удобней чем, например в Visual Studio?

Хотя, согласен, что из командной строки что-то быстренько компильнуть
будет быстрее, особенно если железо плохое, в таком случае тебе надо
просто запускать один из ниже перечисленных компиляторов с определенными параметрами:

C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\vbc.exe
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\csc.exe
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\vjc.exe

посмотреть, какие ожидаются параметры, можно так:
пуск -> выполнить -> cmd:
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\vbc.exe /?

Но лично у меня подобной нужды в последние годы как-то не возникало :)

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

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


Ответ # 9 | Автор: 5acred Phoenix
Добавлено:23.01.2008 / 12:16
Phoenix:
Нет, речь идёт о компиляции языков VBNET/С#
Нет, ну раз так (т.е. создание нечто, позволяющее компилить программы), то я тоже смысла не вижу. Буду пользоваться студией :-P
Спасибо, я в курсе если что :-)))
Ну это было так, просто.. скорей мысли вслух :-))
А в чем смысл этого языка? Приведи пример его использования. Как ты будешь дебажить этот код в его блокноте? А без всплывающих подсказок писать код по памяти - это уже слишком.
Ну допустим тот же (VB|Java)Script пишут ручками. Ну а пример такой: программист Паша написал блокнот с поддержкой..ммм...назовём это макросами. Пользователь Вася решил создать макрос, удаляющий все HTML-теги из текста. Пишем, например, такой код:
001:
002:
003:
004:
005:
006:
007:
Public Sub Main()
  Dim content As String = MyCoolNotepad.Documents.Current.Content
  Dim result As String = System.Text.RegularExpressions.Regex.Replace(.....)
  MyCoolNotepad.Documents.Current.Content = result
End Sub

Colorized by: Eros.CodeSyntaxColor Engine
Потом кликаем запустить макрос, блокнот компилит код, исполняет и вуаля — теги удалились.
Это просто пример, моё видение на то, для чего такую штуку можно прикрутить :-)
Этот пример как раз я и писал несколько лет назад :-)
Упс.. :-))) Хотя в принципе-то я потом так и подумал, что сие было творение EROSа :-))

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


Ответ # 10 | Автор: Алексей
Добавлено:23.01.2008 / 12:26
Ну а пример такой: программист Паша написал блокнот с поддержкой..ммм...назовём это макросами. Пользователь Вася решил создать макрос, удаляющий все HTML-теги из текста. Пишем, например, такой код:

имхо, для этого Паше достаточно реализовать нормальную работу с
регулярными выражениями в самом блокноте и нужды в макросах попросту
не будет :) А все остальные, не текстовые замуты, можно и нужно
реализовывать отдельными плагинами, чтобы не мешались.

Я для извращений над текстом сейчас использую Expresso.

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

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


Ответ # 11 | Автор: 5acred Phoenix
Добавлено:23.01.2008 / 13:07
нужды в макросах попросту не будет :) А все остальные, не текстовые замуты, можно и нужно реализовывать отдельными плагинами, чтобы не мешались.
Ну удаление тегов — это просто как пример, не более :-) А насчёт плагинов — да, без них сейчас никуда :-)) Но согласитесь, макрос написать легче и быстрее :-)

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


Ответ # 12 | Автор: Алексей
Добавлено:23.01.2008 / 13:22
Ну удаление тегов — это просто как пример, не более

придумай текстовой пример, в котором без кода не обойтись и регулярки не помогут :)

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

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


Ответ # 13 | Автор: 5acred Phoenix
Добавлено:23.01.2008 / 13:40
Создать письмо с текстом документа вместо тела письма :-)))

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


Ответ # 14 | Автор: 5acred Phoenix
Добавлено:23.01.2008 / 13:53
Впрочем, макросами скорее нужно не реализовывать какие-то фишки (это участь плагинов), а автоматизировать какие-то процессы, задать какие-то часто используемые последовательности действий.

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


Ответ # 15 | Автор: EROS
Добавлено:23.01.2008 / 14:01
Давайте рассмотрим вопрос с другой стороны. Классический блокнот прежде все сего рассчитан на обычных обывателей, скажем на работников офиса. Как много вы знаете работников офиса, способных работать с регулярными выражения и макросами? :-))) Как часто лично вы используете возможность регулярных выражений к примеру в Word для поиска и замены текста? Вот то то и оно!!! (имхо) Если это функциональности и суждено родиться, то она будет мертворожденной.

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


Ответ # 16 | Автор: Алексей
Добавлено:23.01.2008 / 14:15
Макросы в блокноте точно не нужны, а вот регулярки нужны, при условии, что эта фишка будет удобно реализована, блокнот ведь для программеров вроде как делается :-) Я регулярки использую очень часто, частенько при обычной верстке, например чтобы вставить в произведение дизайнеров вместо <img src="бла-бла-бла" />, нормальный ASP-код, типа <img src="<%=ResolveUrl("бла-бла-бла")%>" />. Частенько бывают ситуации, когда нужно «убить» (заменить) какие-нибудь символы, например CrLf, так что регулярки обязательно нужны :)

зы: я тут ответ на ответ # 13 постил по мылу, но он еще не пришел, так что сильно не пугайтесь, когда прийдет :)

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


Ответ # 17 | Автор: Алексей
Добавлено:23.01.2008 / 14:33
Для этого Паше надо сделать всего один элемент меню: "Отправить по почте" :)
А может тогда сразу MS Word с VBA сделать? :))

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

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


Ответ # 18 | Автор: 5acred Phoenix
Добавлено:23.01.2008 / 14:35
Давайте рассмотрим вопрос с другой стороны. Классический блокнот прежде все сего рассчитан на обычных обывателей, скажем на работников офиса. Как много вы знаете работников офиса, способных работать с регулярными выражения и макросами? :-)))
Здесь вы правы.. :-) Впрочем, в The Bat! (чем не прожка для обычных обывателей? :-) ) всунули ведь регулярки. В справке даже краткий мануал по ним есть :-))
зы: я тут ответ на ответ # 13 постил по мылу, но он еще не пришел, так что сильно не пугайтесь, когда прийдет :)
Что-то не пунктуальный он у вас, ответ этот.. :-))

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


Ответ # 19 | Автор: Алексей
Добавлено:23.01.2008 / 15:08
Что-то не пунктуальный он у вас, ответ этот.. :-))

Наверное через МКАД ехал, в пробку попал :-)))

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

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


Ответ # 20 | Автор: Паша
Добавлено:23.01.2008 / 16:55
Таак. Поиск и замену с регулярками я сделал.
Какие ещё могут быть предложения http://pave-borisov.narod.ru/KbyteNotepad/kbyte-notepad-1.rar

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


Ответ # 21 | Автор: Алексей
Добавлено:24.01.2008 / 03:48
Для поиска многострочности (многострочные поля для ввода критериев поиска и замены) не хватает, также как и для замены :)
Окна у тебя там довольно странные, и странно себя ведут :)

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


Ответ # 22 | Автор: 5acred Phoenix
Добавлено:24.01.2008 / 08:07
Окна у тебя там довольно странные, и странно себя ведут :)
Я бы даже сказал, подозрительно :-))

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


Ответ # 23 | Автор: Алексей
Добавлено:24.01.2008 / 13:10

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


Ответ # 24 | Автор: 5acred Phoenix
Добавлено:24.01.2008 / 13:24
Алексей, а тег img — это у вас вроде easter egg форума, а? :-)
А то что-то я его не очень нахожу на панельке :-))

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


Ответ # 25 | Автор: Алексей
Добавлено:24.01.2008 / 13:52
Готовых движков я не использую, теги самопальные, есть свои местные
квадро-теги, а есть обычные BB теги, последние полностью внедрились
благодоря EROS-у :)
Формат для картинок такой:
(img)http://путь(/img)
есть еще несколько вариантов, но я не помню как их писать :)

Список тегов я уже постил много раз на форуме, и даже обещал запостить
полный список где-нибудь когда-нибудь, но все времени нет, много их :)

Местные теги и многие BB теги были сделаны (к BB добавлены новые фишки) по принципу обычного HTML, т.е.
поддерживаются некоторые параметры, но конкретно для картинок могут быть
ограничены права (непомню уже, возможно все ограничения я снял, а
может и нет :) ...) Т.е. вариант (img src=путь width=10 height=10 alt="Превед Медвед!") по идеи тоже должен работать..

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

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


Ответ # 26 | Автор: Паша
Добавлено:24.01.2008 / 17:26
Какие именно контролы ведут себя странно?

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


Ответ # 27 | Автор: 5acred Phoenix
Добавлено:24.01.2008 / 17:38
О, Алексей, вы кажется как раз хотели несколько гигов символов написать? Чем не возможность? :-))

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


Ответ # 28 | Автор: Алексей
Добавлено:24.01.2008 / 17:50
Какие именно контролы ведут себя странно?

не контролы, а окна. Контролы, надеюсь, так криво разбросанны временно? :)
Что касается окон, то у тебя сейчас каждое окно живет своей жизнью, это не есть гуд.

О, Алексей, вы кажется как раз хотели несколько гигов символов написать? Чем не возможность? :-))

не, так не интересно :)

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

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


Ответ # 29 | Автор: Паша
Добавлено:24.01.2008 / 18:25
А как же надо? Систему MDI делал EROS :)

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


Ответ # 30 | Автор: EROS
Добавлено:24.01.2008 / 23:44
Систему MDI делал EROS

Так, погоди... ты чего меня позоришь??? Я сделал лишь скелет, и механизм взаимодействия с меню и открытия окон, потому как твой код вызывал у меня нервные судороги в области пальцев рук. Еще избавил форум от 2-х недельных расспросов "Как сделать меню 'Recent files ..'" ну еще там кое что по мелочи. Благо в качестве доказательства моей непричастности к твоему творения любой желающий может скачать исходники которые я тебе дал и твои исходники ДО моей правки для проведения сравнительного анализа. Что касается твоих странных окон, с нетрадиционным поведением, то я к ним никакого отношения не имею!!! И прошу в дальнейшем на меня не ссылаться. Я НЕ ВИНОВЕН в том, что твой блокнот все еще жив .. (непонятно по каким причинам)

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


Ответ # 31 | Автор: Алексей
Добавлено:25.01.2008 / 04:38
А как же надо?

с MDI все вроде бы нормально, а другие окна делают, что хотят. Открыл я окно поиска, свернул блокнот в панель задач, или в трей (куда оно там у тебя сворачивается), а окно поиска висит, зачем? что мне с ним делать? А если я случайно с открытым окном поиска возьму главное окно, то окно поиска уходит на задний план (Owner), при том, что если я захочу опять что-то найти, появляется еще одно окно поиска (Application.OpenForms). Посмотри как этот момент реализован в обычном Windows-блокноте.
Про всякие эбауты без бордера в плагинах я вообще не говорю. Понятное дело, что ты хочешь сделать что-то не обычное, но чтобы сделать что-то не обычное, надо для начала сделать что-то соответствующее мировым стандартам.

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


Ответ # 32 | Автор: Алексей
Добавлено:25.01.2008 / 06:04
зы: http://kbyte.ru/thumb.ashx?VFilePath=Job/Images/Projects/kbytenotepad.jpg&width=120&height=120&AllowStretch=true&Bevel=false
довольно информативный скрин в разделе "Наши проекты", я поначалу даже подумал, что он у меня не до конца загрузился :)

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

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


Ответ # 33 | Автор: Паша
Добавлено:25.01.2008 / 09:44
:) не знаю! я снял скрин через ALT+PrintScr

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


Ответ # 34 | Автор: Паша
Добавлено:25.01.2008 / 11:04
Исправил: теперь форма помска может быть тока одна :)
http://pave-borisov.narod.ru/KbyteNotepad/kbyte-notepad-1.rar

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


Люди памагите умираю!!! Изменение позиций на бэке!!! | Автор: BigDan
Добавлено: 22.01.2008 / 16:18 | ответов: 1 | просмотров: 54

Всем добрый день, добрый вечер и доброе утро!!! Есть такая проблемка нужно в бэке сделать так что бы юзер или админ мог менять позиции категорий товаров ну или чего там!!! Что бы понятней было в чем проблема приатачил архив где есть принт скрин и код но код очень древний и очень геморный я не могу в него въехать люди помогите пожайлуста с кодом или дайте линку где это более или менее доступно объясняеться заранее всем спасибо если даже просто прочтете!!!


вот код так он в архив не влез


<%
If NOT Session("logged")=True Then
response.redirect "login.asp"
End If


sub orderOutput(idIn, nameIn, descriptionIn, countIn, recordTotalIn)
response.write " <div class=""controlWindowItemsMove"">"
if NOT countIn=1 then
onClickString = chr(13) & "onClick=""document.group_order.item_new_order_" & idIn & ".value='" & countIn-1 & "';group_order.submit();"""
'onClickString = chr(13) & "onClick=""group_order.submit();"""
jsString = "onMouseOver=""window.status='Move Up'; return true"" " & chr(13) & " onMouseOut=""window.status=''; return true"" " & onClickString & ""

response.write " <a href=""#"" " & jsString & "><img src=""admin_images/up.gif"" border=""0"" alt=""Move Up""></a>"
response.write chr(10)&chr(13)
response.write " &nbsp;&nbsp;&nbsp;&nbsp;<a href=""#"" " & jsString & " class=""controlWindowItemsMove"">move up</a><br>"
end if
response.write chr(10)&chr(13)
if NOT countIn=recordTotalIn then
onClickString = chr(13) & "onClick=""document.group_order.item_new_order_" & idIn & ".value='" & countIn+1 & "';group_order.submit();"""
'onClickString = chr(13) & "onClick=""group_order.submit();"""
jsString = "onMouseOver=""window.status='Move Down'; return true"" " & chr(13) & " onMouseOut=""window.status=''; return true"" " & onClickString & ""
response.write " <a href=""#"" " & jsString & "><img src=""admin_images/down.gif"" border=""0"" alt=""Move Down"" " & onClickString & "></a>"
response.write chr(10)&chr(13)
response.write " <a href=""#"" " & jsString & " class=""controlWindowItemsMove"">move down</a>"
end if
response.write chr(10)&chr(13)
response.write " <input type=""hidden"" name=""item_id"" value=""" & idIn & """>"
response.write " <input type=""hidden"" name=""item_order"" value=""" & countIn & """>"
response.write " <input type=""hidden"" name=""item_new_order_" & idIn & """>"
response.write " </div>"
response.write " <span class=""item_title"">" & nameIn & "</span><br>"
description=descriptionIn
if len(description) > 0 then
response.write description & "<BR>"
end if
end sub

Set oConn = Server.CreateObject("ADODB.Connection")
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("menus.mdb")

if request.form("submit")="Apply Changes" then
for each item in request.form
response.write "<strong>" & item & ": " & request.form(item) & "<BR>"
next

maxRecordIn=int(request.form("recordTotalPrev"))
for i=1 to maxRecordIn
response.write "I: " & i & "<BR>"
sSQL = "SELECT * FROM [menu_items] WHERE id=" & request.form("item_id")(i) & ";"
Set rsMenu = Server.CreateObject("ADODB.Recordset")
rsMenu.Open sSQL, oConn,3,3

rsMenu("order") = int(request.form("item_order")(i))

rsMenu.Update

rsMenu.Close
set rsMenu = Nothing

Next
response.redirect Session("backTo")
end if




%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<noscript>
<BR><BR><h1>This page requires javascript to work properly. Please enable javascript with your browser and try again.</h1><BR><BR>
</noscript>
<link href="css/admin.css" rel="stylesheet" type="text/css">
<link href="css/menu.css" rel="stylesheet" type="text/css">
<%

id=int(request.querystring("id"))
sSQL = "SELECT * FROM [group] WHERE group_id=" & id & ";"
'Set oConn = Server.CreateObject("ADODB.Connection")
'oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("menus.mdb")
Set rsMenuGroup = Server.CreateObject("ADODB.Recordset")
rsMenuGroup.Open sSQL, oConn

Do until rsMenuGroup.EOF
itemName=rsMenuGroup("group_title")

rsMenuGroup.MoveNext
Loop

'Closeing/Destroying connection
rsMenuGroup.Close
set rsMenuGroup = Nothing
'oConn.Close
'set oConn = Nothing


response.write "<title>Group Order - Modifying '" & itemName & "' </title><meta http-equiv=""Content-Type"" content=""text/html; charset=iso-8859-1"">"
response.write "</head><body>"
response.write "<form name=""group_order"" method=""post"" action=""order_menu_groups.asp?id=" & id & """>"

response.write" <table width=""500"" height=""400"" border=""0"" cellpadding=""0"" cellspacing=""0"" align=""left"" class=""null"">"
response.write "<tr><td>"
'if Session("backTo")="admin_wines.asp" then
' response.write "<img src=""images/wines_header.jpg"" width=""500"" height=""88"" border=""0"" usemap=""#MapMenu"">"
'elseif Session("backTo")="admin_menus.asp" then
' response.write "<img src=""images/menu_header.jpg"" width=""500"" height=""88"" border=""0"" usemap=""#MapWine"">"
'end if
Server.Execute "header.inc"

response.write "</td></tr>"
response.write " <tr>"
response.write " <td bgcolor=""#000000"" valign=""top"" height=""2""><img src=""spacer.gif"" height=""2""></td>"
response.write " </tr>"
response.write " <tr><td>&nbsp;</td></tr>"
response.write "<tr><td style="""padding-left:" 25px;"">"
response.write "<a href=""" & Session("backTo") & """>Back</a></td>"
response.write " <tr><td>&nbsp;</td></tr>"
response.write " <tr>"
response.write " <td width=""100%"" align=""center"" valign=""top"">"

response.write " <table border=""0"" cellpadding=""0"" cellspacing=""0"" style="""border:1px" black solid"">"
response.write " <tr>"
response.write " <td>"

response.write "<div style="""overflow:auto;" width:450; height:370;"">"
response.write "<table width=""434"" height=""370"" border=""0"" cellpadding=""15"" cellspacing=""0"" background=""images/pop_menu_bg.jpg"" class=""menus_text""><tr><td valign=""top"">"

sSQL = "SELECT COUNT(order) AS total, MAX(order) AS high, MIN(order) AS low FROM [menu_items] WHERE group_type_id=" & id & ";"
'Set oConnMax = Server.CreateObject("ADODB.Connection")
'oConnMax.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("menus.mdb")
Set rsTemp = Server.CreateObject("ADODB.Recordset")
rsTemp.Open sSQL, oConn

orderMax = rsTemp("high")
orderMin = rsTemp("low")
recordTotal = rsTemp("total")

rsTemp.Close
set rsTemp = Nothing
'oConnMax.Close
'set oConnMax = Nothing

if NOT request.form("sent")="1" then

'Creating output - Menu Items
sSQL = "SELECT * FROM [menu_items] WHERE group_type_id=" & id & " ORDER BY menu_items.order;"
'Set oConn = Server.CreateObject("ADODB.Connection")
'oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("menus.mdb")
Set rsMenu = Server.CreateObject("ADODB.Recordset")
rsMenu.Open sSQL, oConn
count=0

Do until rsMenu.EOF
'Outputinng information and interface
count=count+1
if rsMenu("visible")=false then
response.write "<div class=""invisibleItem""><span class=""invisibleItemText"">This Item is hidden</span><br>"
end if

'Function outputs content and interface. Refer above
call orderOutput(rsMenu("id"), rsMenu("name"), rsMenu("description"), count, recordTotal)

'Outputing Prices
sSQL = "SELECT * FROM [prices] WHERE item_id=" & rsMenu("id") & " ORDER BY prices.order"
Set rsPrices = Server.CreateObject("ADODB.Recordset")
rsPrices.Open sSQL, oConn

Do Until rsPrices.EOF
response.write " "
if Len(rsPrices("price_title")) > 1 then
response.write rsPrices("price_title") & " "
end if

response.write rsPrices("price")
response.write "<BR>"

rsPrices.MoveNext
Loop

rsPrices.Close
Set rsPrices = Nothing

if rsMenu("visible")=false then
response.write "</div>"
end if
response.write "<BR><BR>"
response.write chr(10)&chr(13)
rsMenu.MoveNext
Loop

'Closeing/Destroying connection
rsMenu.Close
set rsMenu = Nothing
'oConn.Close
'set oConn = Nothing

response.write "<input type=""hidden"" name=""recordTotalPrev"" value=""" & recordTotal & """>"
else
recordTotalPrev=int(request.form("recordTotalPrev"))
redim orderArray(recordTotalPrev)
redim idArray(recordTotalPrev)

'Processing and storing form fields into
'Arrays to be reordered later
for each item in request.form
if left(item, 10)="item_order" then
For i = 1 To recordTotalPrev
orderArray(i)=int(request.form(item)(i))
Next
elseif left(item,7)="item_id" then
For i = 1 To recordTotalPrev
idArray(i)=request.form(item)(i)
Next
elseif left(item, 15)="item_new_order_" then

if request.form(item)=empty then
itemIn=0
else
itemIn=int(request.form(item))
end if
if itemIn >=1 then
toChangeValue=int(request.form(item))
toChange=int(replace(item, left(item, 15), ""))
'response.write "<B>TOCHANGE_ID: " & toChange & "</B><BR>"
'response.write "<B>TOCHANGE_VALUE: " & toChangeValue & "</B><BR>"
end if
end if
'response.write item & ": " & request.form(item) & "<BR>"
next

'response.write "<BR><BR>"

'For i = 0 To Ubound(orderArray)
' response.write "ARRAY order" & i & ": " & orderArray(i) & "<BR>"
'Next
'response.write "<BR>"
'For i = 0 To Ubound(idArray)
' response.write "ARRAY id" & i & ": " & idArray(i) & "<BR>"
'Next
'response.write "<BR>"
'For i = 0 To Ubound(nameArray)
' response.write "ARRAY name" & i & ": " & nameArray(i) & "<BR>"
'Next
'response.write "<BR>"
'For i = 0 To Ubound(descArray)
' response.write "ARRAY desc" & i & ": " & descArray(i) & "<BR>"
'Next
'response.write "<BR>"
'repsonse.write "TO CHANGE: " & toChange & "<BR>"

'Finds old order num to find out which sort to use
'And which position in the array contains it
oldNum=0
for i=1 to recordTotalPrev
if int(idArray(i))=int(toChange) then
oldNum=orderArray(i)
orderArrayPosition=i
exit for
end if
next

'orderMod=0
changed=0
newOrder=0
count=0
'response.write "OLDNUM: " & oldNum & " toChangeValue: " & toChangeValue & "<BR>"
if (oldNum-toChangeValue) < 0 then
'response.write "<b>REORDERING UP!</b><BR>"
for i=1 to Ubound(orderArray)
newOrder=newOrder+1
if orderArray(i)=toChangeValue AND NOT i=orderArrayPosition then
orderArray(i)=orderArray(i)-1
elseif i=orderArrayPosition then
'Response.write "<B>THIS ONE WAS CHANGED!</B><BR>"
orderArray(i)=newOrder+1
else
orderArray(i)=newOrder
end if
'response.write "ORDER ARRAY(" & i & "): " & orderArray(i) & "<BR>"
next
else
'response.write "<b>REORDERING DOWN!</b><BR>"
for i=1 to Ubound(orderArray)
newOrder=newOrder+1
if orderArray(i)=toChangeValue AND NOT i=orderArrayPosition then
orderArray(i)=orderArray(i)+1
elseif i=orderArrayPosition then
'Response.write "<B>THIS ONE WAS CHANGED!</B><BR>"
orderArray(i)=newOrder-1
else
orderArray(i)=newOrder
end if
'response.write "ORDER ARRAY(" & i & "): " & orderArray(i) & "<BR>"
next
end if


'Sorts records according to new
'Order scheme for SQL Query

'Setting Up connection
'Set oConn = Server.CreateObject("ADODB.Connection")
'oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("menus.mdb")

whichRecordsNot=""
count=0
for i=1 to Ubound(orderArray)
for c=1 to Ubound(orderArray)
'Checks to make sure the records are displayed in the new
'Order
if i=orderArray(c) then
'This string is for the SQL QUERY Below to ensure
'TO show all the items that maybe added
'While a person was working with the records
'For consistancy. This QUERY is built to OMIT the ones that are
'Already outputted
whichRecordsNot=whichRecordsNot & "id<>" & idArray(c) & " AND "
sSQL = "SELECT * FROM [menu_items] WHERE id=" & idArray(c) & ";"
Set rsMenu = Server.CreateObject("ADODB.Recordset")
rsMenu.Open sSQL, oConn

if rsMenu("visible")=false then
response.write "<div class=""invisibleItem""><span class=""invisibleItemText"">This Item is hidden</span><br>"
end if

count=count+1
response.write chr(10)&chr(13)

call orderOutput(rsMenu("id"), rsMenu("name"), rsMenu("description"), count, recordTotal)

'prixing stuff grwoiasdfs here
sSQL = "SELECT * FROM [prices] WHERE item_id=" & rsMenu("id") & " ORDER BY prices.order"
Set rsPrices = Server.CreateObject("ADODB.Recordset")
rsPrices.Open sSQL, oConn

Do Until rsPrices.EOF
response.write " "
if Len(rsPrices("price_title")) > 1 then
response.write rsPrices("price_title") & " "
end if

response.write rsPrices("price")
response.write "<BR>"

rsPrices.MoveNext
Loop

rsPrices.Close
Set rsPrices = Nothing

if rsMenu("visible")=false then
response.write "</div>"
end if
response.write "<BR><BR>"
response.write chr(10)&chr(13)
rsMenu.Close
set rsMenu = Nothing
end if
Next
Next
'Removes last AND statement for QUERY
whichRecordsNot=left(whichRecordsNot, len(whichRecordsNot)-4)

'Outputting all records that are in group excluding the ones already outputted above
sSQL = "SELECT * FROM [menu_items] WHERE " & whichRecordsNot & " AND group_type_id="& id & ";"
Set rsMenu = Server.CreateObject("ADODB.Recordset")
rsMenu.Open sSQL, oConn

Do Until rsMenu.EOF
if rsMenu("visible")=false then
response.write "<div class=""invisibleItem""><span class=""invisibleItemText"">This Item is hidden</span><br>"
end if

count=count+1
response.write chr(10)&chr(13)

call orderOutput(rsMenu("id"), rsMenu("name"), rsMenu("description"), count, recordTotal)

'prixing stuff grwoiasdfs here
sSQL = "SELECT * FROM [prices] WHERE item_id=" & rsMenu("id") & " ORDER BY prices.order"
Set rsPrices = Server.CreateObject("ADODB.Recordset")
rsPrices.Open sSQL, oConn

Do Until rsPrices.EOF
response.write " "
if Len(rsPrices("price_title")) > 1 then
response.write rsPrices("price_title") & " "
end if

response.write rsPrices("price")
response.write "<BR>"

rsPrices.MoveNext
Loop

rsPrices.Close
Set rsPrices = Nothing


if rsMenu("visible")=false then
response.write "</div>"
end if
response.write "<BR><BR>"
response.write chr(10)&chr(13)
rsMenu.MoveNext
Loop

rsMenu.Close
set rsMenu = Nothing


'oConn.Close
'set oConn = Nothing
response.write "<input type=""hidden"" name=""recordTotalPrev"" value=""" & recordTotal & """>"
end if

oConn.Close
set oConn = Nothing
%>



</td></tr></table></div>
</td></tr></table></td></tr>
<tr><td>&nbsp;</td></tr>
<tr><td style=""padding-left:" 25px;"><input type="hidden" name="sent" value="1">
<input type="submit" name="Submit" value="Apply Changes"></td></tr>
</table>
</form>
</body>
</html>

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


Ответ # 1 | Автор: Алексей
Добавлено:23.01.2008 / 04:54
Что бы понятней было в чем проблема приатачил архив где есть принт скрин

Посмотрел я на красный квадрат (явно не Малевича) с какими-то белыми полосками, видимо это флаг какой-то новой страны, которую еще не утвердил Евросоюз :), я конечно увеличивал это произведение искусства, и даже поворачивал его на 90 и 180 градусов, но кода так и не увидел :) А может быть это 3D картинка, на которую надо долго смотреть, косить глаза, а потом где-то там в глубине появится волосатая рука Билла Гейтса ударит меня по голове и из высыпавшихся звездочек сформируется код? :)

вот код так он в архив не влез

Ну еще бы ты записал этот код в архив, там бы тогда не флаг был, а фотография пасущихся на просторах мембраны белых кровяных телец с &H9FD0803CE8000000-кратным увеличением :)

Что касается текста, то слишком много кода, вряд ли кто-то будет тратить время на его разбор. Поставь вопрос более конкретно и тогда посмотрим, что можно сделать.

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


Вывод данных из базы Access в форму | Автор: RH100
Добавлено: 22.01.2008 / 10:31 | ответов: 21 | просмотров: 430

Здесь два вопроса: можно ли выводить данные из базы в простое текстовое поле TextBox? и как взять отдельное значение из таблицы GridView (имя поля, номер строчки)?

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


Ответ # 1 | Автор: Алексей
Добавлено:22.01.2008 / 10:53
можно ли выводить данные из базы в простое текстовое поле TextBox?

можно, и не только в простое, и не только в текстовое, и не только в поле :)

и как взять отдельное значение из таблицы GridView (имя поля, номер строчки)?

куда взять? и зачем? :)

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

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


Ответ # 2 | Автор: RH100
Добавлено:22.01.2008 / 11:21
Ситуация такая: на основе данных опроса создал в Access запрос на вычисление (выводится одна цифра, например, средняя оценка) и надо ее вывести в форму в текстовое поле. У Textboxa есть свойство Data, здесь не совсем понятно как подключить данные из конкретного запроса. Что касается GridView то стоит задача использовать ряд ячеек в формулах для вычислений.

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


Ответ # 3 | Автор: Алексей
Добавлено:22.01.2008 / 13:57
Какое такое свойство Data есть у TextBox в ASP .NET ? DataBind чтоли?

Что касается GridView, то вообще не понятно что требуется :)
потробней опиши, и если есть какой-то код, покажи..

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

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


Ответ # 4 | Автор: RH100
Добавлено:22.01.2008 / 15:33
Объект Textbox, в окне Properties есть раздел Data свойство Expressions. AccessDataSourceы я уже создал, как я понимаю это промежуточные элементы между объектами вывода и источником данных (таблица и запросы из базы). Сейчас вывожу данные в двух объектах: GridView (таблица с данными) и DetailsView (числовой результат запроса). Лучше бы вывести результаты запроса (число) в текстовое поле. По поводу GridView: выведена таблица, допустим нужно использовать в расчётах значение, которое находится в третьей строке второго столбца!

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


Ответ # 5 | Автор: Алексей
Добавлено:22.01.2008 / 15:45
Ну тогда надо указать поле, из которого TextBox будут сливаться
данные и вызвать метод DataBind() у контейнера, в котором расположено
это поле :) Еще можно засунуть текстовое поле в Data-контейнер и
прописать руками ему что-то типа Text="<%#Eval("поле")%>" или
Text="<%Bind("поле")%>", или через контейнер :), а еще можно в коде засунуть данные из какого-нибудь DataRow куда нужно. В общем способов уйма, все зависит от того, как у тебя реализован вывод данных.

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

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


Ответ # 6 | Автор: RH100
Добавлено:23.01.2008 / 09:59
С контейнерами я разобрался, как подключать и т.д. Но не получается вставить 2 контейнера на одной строке. Допустим сначала в одном контейнере выводятся числа из одного источника данных, а напротив них должны быть другие числа из 2 контейнера соответственно из другого источника данных. Кстати, к одному контейнеру можно подключить только один источник данных?

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


Ответ # 7 | Автор: Алексей
Добавлено:23.01.2008 / 10:11
DataSource только один.
Если нужно вывести данные из разных таблиц, то это можно сделать запросом:
001:
002:
003:
004:
SELECT * FROM Table1 INNER JOIN Table2 ON Table1.FIELD = Table2.FIELD

_______________________
Colorized by: Eros.CodeSyntaxColor Engine


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

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


Ответ # 8 | Автор: RH100
Добавлено:23.01.2008 / 12:40
С этим вроде тоже разобрался.. Теперь опять вывод в текстовый файл: из контейнера как правильно вывести?
001:
002:
003:
PrintLine(1, FormView2.ItemTemplate.column1Label.Text)

Colorized by: Eros.CodeSyntaxColor Engine

показывает ошибку

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


Ответ # 9 | Автор: Алексей
Добавлено:23.01.2008 / 12:53
Можно через FindControl найти нужный элемент в FormView:

CType(FormView2.FindControl("column1Label"), Label).Text

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

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


Ответ # 10 | Автор: RH100
Добавлено:23.01.2008 / 15:22
Сработало. А как передать данные из текстового поля одной формы в другую. Например пишу в коде формы Start.aspx TextBox1.Text=Result.TextBox1.Text, где Result.aspx имя формы. Не катит...

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


Ответ # 11 | Автор: Алексей
Добавлено:23.01.2008 / 15:57
Сработало. А как передать данные из текстового поля одной формы в другую. Например пишу в коде формы Start.aspx TextBox1.Text=Result.TextBox1.Text, где Result.aspx имя формы. Не катит...

У формы установить в Action url страницы, на которую нужно отправить
данные, либо у кнопки в свойство PostBackUrl, а на странице Result.aspx через Request.Form можно поймать отправленные данные.

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

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


Ответ # 12 | Автор: SocrAT
Добавлено:23.01.2008 / 16:34
Хех. и не прокатит :)

После того, как ввел значение на форме Result.aspx его (значение) надо
сохранить в переменной сессии, например,

001:
Session["Name"] = TextBox1.Text


а в форме Start.aspx взять из этой переменной:

001:
002:
003:
004:
if (null != Session["Name"])
{
   TextBox1.Text = Session["Name"].ToString()
}


Это только пример. Можно сохранять, конечно, и в переменной
приложения. Все зависит от цели... :)

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

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


Ответ # 13 | Автор: Алексей
Добавлено:23.01.2008 / 16:36
К слову, в .Net это делается довольно гемарно, так что лучше стараться все делать в рамках одной страницы, а при правильном проектировании, необходимость передавать данные формы на другую страницу вообще бывает крайне редко.

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


Ответ # 14 | Автор: Алексей
Добавлено:23.01.2008 / 16:37
сохранить в переменной сессии, например,

криво, так лучше не делать.

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


Ответ # 15 | Автор: SocrAT
Добавлено:23.01.2008 / 16:41
Почему же криво? Поясни...

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


Ответ # 16 | Автор: Алексей
Добавлено:23.01.2008 / 17:13
Почему же криво? Поясни...

Начнем с того, что идентификатор Session передается через куки, если последние будут отключены, то данный метод будет работать не корректно. Можно через Url, но это некрасиво :)
Во-вторых у Session ограниченный срок жизни, при неправильным
использовании данные можно потерять, или даже перепутать :)
А использовать Application в данном случае вообще не стоит :)

В ASP .NET вообще очень редко бывают случаи, когда нужно передать
данные формы на другую страницу, обычно все происходит в рамках одной
страницы. Если подобная необходимость возникает, то правильней
получать данные на другой странице через Request.Form. Еще можно
засунуть данные в базу, и передать по url идентификатор данных, и уже
по идентификатору на другой странице получить эти данные, но это тоже
довольно кривовато, хотя более надежней, чем при использовании
Session. Сегодня как раз столкнулся с подобной ситуацией, в комплекте
было большое количество данных вводимых клиентом, которые нужно было
проверить на клиенте и серваке, при возникновении ошибок вывести
результат на той же странице, а сами данные передать на другую
страницу, причем у обоих страниц разный MasterPage, первое что пришло
в голову, это Session, но зная насколько это не надежно, я оставил эту
идею на самый крайний случай :)

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

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


Ответ # 17 | Автор: Алексей
Добавлено:23.01.2008 / 17:21
+память, с миру по байту на 20 минут каждый, сервер в даун :)

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

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


Ответ # 18 | Автор: SocrAT
Добавлено:24.01.2008 / 10:21
На счет
идентификатор Session передается через куки, если последние будут отключены, то данный метод будет работать не корректно

убедил.

На счет времени жизни - нет.
На то она и сессия, чтобы быть временной.
А для передачи важных данных с формы на форму : таймаут - дополнительная защита.

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


Ответ # 19 | Автор: Алексей
Добавлено:24.01.2008 / 11:42
На счет времени жизни - нет.
На то она и сессия, чтобы быть временной.
А для передачи важных данных с формы на форму : таймаут - дополнительная защита.

Передавать данные с одной страницы на другую через Session (в данном конкретном случае) – это все же извращенье :) даже если это делать единожды, тем более, когда есть Request со всем необходимым для подобных целей.
Можешь тогда за проезд в автобусе (метро, такси) оплачивать 500 долларовыми купюрами, и не забирать сдачи, эффект будет тот же.

А важные данные, которых больше нигде нет, вообще не надо передавать через Session, ибо они могут затеряться, не факт, что на следующей странице юзер будет проявлять какую-нибудь активность, может он оставит все, как есть, уйдет в гости, поест, поспит, посидит на толчке, и только потом со своим соседом по лестничной площадке вернется к компу, и продолжит движение, и что тогда? В лучшем случае ты можешь ему показать большие красные буквы на пол страницы, мол извините, ваш поезд уехал, но вы можете еще раз повторить запрос, и что будет делать юзер, если он на предыдущей странице вводил номера документов всех своих 50 детей, жены, тещи, кота Васьки, при том что последний взял свои документы и уехал в Артику отстреливать пингвинов. Скорей всего юзер забьет на это дело, а если проект не твой, и юзер незаконно рожденный сын президента республики Акирема, а ты гражданин той самой республики, что тогда, по репе от начальства? :) Ну да, ты можешь сказать, что все полученные данные ты будешь обрабатывать на следующей странице в Page_Load, а ты уверен что ты сможешь и правильно обработать, и также правильно их удалить? Ты можешь засунуть эти данные в контролы на странице, либо прописать в EventState, а ты уверен в том, что эти данные сохранятся в своем первозданном виде, что у юзера EventState не поломается из-за всплеска солнечной активности? В проекте из двух страниц с предполагаемой посещаемостью 0,5 пользователя в месяц все будет работать как часы, а если проект большой, если в проекте кроме тебя, активных кодеров 20 человек, которые как это часто бывает, вообще никак друг с другом не взаимодействуют, +не менее 10 000 уникальных посетителей в сутки и в качестве сервака выступает паршивенький хостер на базе процессора Intel Celeron D 3000 GHz с 1 Tb памяти на борту, на котром кроме тебя хостится замбабский филиал сайта Microsoft, и еще около сотни местных сайтов, какова вероятность того что ты с кодером Васей, который делает секс-шоп на другом конце сайта не будете использовать параметр сессии с одинаковым именем, при том что кодер Вася чтобы не искать причину бага поизвращается и пропишит свой код в каком-нибудь Globsal.asax, или что ты сам бонально запутаешься в своих сессиях и потом долгими бессонными ночами будешь ковыряться в тысячах строк своего кода в поисках логических багов, которые с первого взгляда разглядеть вообще не возможно, а если код не твой, как быстро ты найдешь ошибку?

Все данные лучше сохранять куда-нибудь в более надежное хранилище данных, и если уж что-то и передавать через Session, то только необходимый минимум копии информации.

Я уверен, что в конкретном случае, автору вопроса вообще не надо передавать данные на другую страницу :), скорей всего на такие действия его побудил недавний опыт работы с классическим ASP :)

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

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


Ответ # 20 | Автор: SocrAT
Добавлено:24.01.2008 / 14:01
Выговорился? :)

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


Ответ # 21 | Автор: Алексей
Добавлено:24.01.2008 / 15:19
Выговорился?

нет :) я могу еще несколько гигов символов написать :)

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

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


Наверх

 

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

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

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

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

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

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

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

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

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

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

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

 

Статьи на Kbyte.Ru

Наверх

 

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

Как программно вызвать окно свойств (Properties) файла?
Дата добавления: 31.07.2006 / 12:42 | просмотров: 1186 | платформа: VB

Проверка существования директории
Дата добавления: 31.07.2006 / 12:41 | просмотров: 2212 | платформа: VB

Запуск программы
Дата добавления: 21.08.2006 / 20:19 | просмотров: 1930 | платформа: VB

Как преобразовать цвет в Web-стандарт?
Дата добавления: 24.03.2007 / 11:37 | просмотров: 711 | платформа: VB .NET

Анализ даты стандарта DD.MM.YYYY и DD.MM.YY
Дата добавления: 24.03.2007 / 11:00 | просмотров: 954 | платформа: RegEx

Анализ даты стандарта RFC822
Дата добавления: 24.03.2007 / 10:58 | просмотров: 1134 | платформа: RegEx

Как показать сообщение?
Дата добавления: 16.08.2006 / 23:31 | просмотров: 1312 | платформа: VB

Как добавить новые данные в базу данных?
Дата добавления: 31.07.2006 / 12:49 | просмотров: 1396 | платформа: VB

Запись данных в файл
Дата добавления: 31.07.2006 / 17:20 | просмотров: 1077 | платформа: ASP .NET (VB)

Как получить имя пользователя? (System.Security)
Дата добавления: 24.03.2007 / 12:21 | просмотров: 1045 | платформа: VB .NET

 

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

Наверх

 

Юмор на Kbyte.Ru

Пришел в новую контору работать. У всех юзверей выясняю пароли на вход в сетку. Один из них отвечает: пароль две звездочки. Ну это, говорю, я понял, а пароль-то какой? Две звездочки. Ну ясно, что на экране вы видите две звездочки, а пароль-то какой? Ну какой же вы непонятливый, вот смотрите: и жмет shift+8, shift+8. Я упал. Людям надо верить. :)

 

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

 

В отделе кадров:
- Вы что-то выглядите недостаточно подвижно для своего возраста.
- А вам кто нужен: программист или обезьяна?

 

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

 

Учительница повела детей в лес на экскурсию. И вдруг говорит:
- Смотрите, дети, кого я нашла! Кто это весь в иголках?
- Не знаем.
- Вспомните, мы про него песни пели и стихотворения учили.
- Ах вот ты какой, дедушка Ленин!

 

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

 

Дети, знаете ли вы, откуда течет электричество? - спрашивает учительница.
- Я знаю! - вскакивает ученик.
- Из джунглей!
- Почему ты так считаешь?
- А сегодня утром папа, когда хотел бриться, сказал: "Опять эти обезьяны отключили электричество!"

 

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

 

Зима. Замеpзший водоем. Hа лед выходит любитель подледного лова и пpистpаивается бypить лyнкy, как вдpyг откyда-то свеpхy гpомовой голос:
- МУЖИК! ЗДЕСЬ РЫБЫ HЕТ!!!
Мyжик огляделся - кpyгом никого. Плечами пожал, отошел метpов на сто, и опять свеpлить.
- МУЖИК!!! ЗДЕСЬ РЫБЫ HЕТ!!!!!
И опять кpyгом никого. Hy мyжик еще подальше отошел...
- МУЖИК!!!!!! Я ТЕ СКАЗАЛ - HЕТ ЗДЕСЬ РЫБЫ!!!!!!!!!!!!!
Мyжик не выдеpжал и обpатя взоp небy вскpичал:
- Да кто это говоpит?!!!
- КТО,КТО! ДИРЕКТОР КАТКА!!!

 

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

 

Почему в Чернобыле грибы нельзя собирать? - разбегаются!
А почему их грибники догнать не могут? - грибы их издалека видят - грибники светятся....

 

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

 

Приходит програмист с работы, а на него жена набрасывается с кулаками:
- Негодяй! Я столько лет тебя кормила, поила, ублажала, а ты, паразит, мне изменяешь!
- ???
- Не прикидывайся! Звонил Витька, спрашивал адрес твоей Аськи!

 

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

 

Звонит один мужик своему интернет-провайдеру и говорит оператору:
- Алло, здраствуйте, у меня проблема! Я не могу зайти в интернет!
- А в чем, собственно говоря, дело?
- А у меня нет компьютера...

 

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

 

Программист ошибается дважды: первый раз - при рождении, а второй раз - при выборе профессии.

 

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

 

Марьиванна:
- Здесь мы видим, что крокодил отложил яйца... Кто знает: зачем?
Вовочка:
- Старый он уже... Не нужны они ему...

 

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

 

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

Наверх


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

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

Copyright (c) Nemiro AS, 2005-2007


В избранное