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

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



Выпуск # 255


http://www.kbyte.ru/

 

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

Здравствуйте!
Очередной выпуск рассылки Kbyte.Ru!

 

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

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

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

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

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

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

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

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

    Code name «Лена Цтулховна»

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

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

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

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

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

    Взаимодействие с другими сайтами через 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

Наверх

 

 

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

Code name «Лена Цтулховна» | Автор: Алексей
Добавлено: 29.01.2008 / 05:22 | ответов: 1 | просмотров: 32

На протяжение последних 1E лет, мы с EROS-ом работали над секретным проектом «Лена Цтулховна», и вот, сегодня представляем вашему вниманию неаимокрейшую альфа-версию Лены (см. вложение). Суть проекта довольно проста, есть Лена, у которой есть всякие прибамбасы, которые владелец клона Лены может использовать на свое усмотрение :)

В общем, проект построен на плагинах, плагины может писать любой, более ли менее знакомый с технологией .NET (только 2.х!). Плагины также могут быть любыми и выполнять различные функции. На данный момент есть два плагина от EROS-а, это игра «Судоку» и инструмент «Экранная лупа».

Ядро всего это дела лежит в сборке Kbyte.Team.Core.dll. Т.е., для создания плагина нужно всего лишь подключить эту сборку к проекту, и все. В этой же сборке (пространство имен Kbyte.Team.Controls) можно найти контрол для создания клеточных игр (морской бой, шашки, пешки и т.п.), или еще чего-нибудь клеточного :) (для примера смотрите игру «Судоку»), количество контролов в будущем может быть увеличено, собственно вы сами можете что-нибудь сделать и предложит свое творение для включения в Ядро. Изменения основного интерфейса маловероятны.

Что касается (k)Лены (w)Цтулховны (KbyteWorld.exe), то она будет немного изменена и доделана в зависимости от потребностей, но на работе самих плагинов это не отразится. На данный момент в менеджере реализован необходимый минимум функционала для более ли менее комфортной работы с плагинами и самой программой. Если есть предложения по поводу самой Лены, предлагайте :)

Если вас это заинтересовало, и вы хотите принять участие в проекте, то пишите в этот топик. Технические вопросы, также задавайте в этот топик.

Последняя версия Лены: альфа 0.001 (внимание, завтра ожидается альфа 0.002!)


Модули:

Sudoku - игра "Судоку" (Автор: Eros)
Magnific - инструмент "Экранная лупа" (Автор: Eros). Экранная лупа позволяет увеличивать определенную область экрана, а также получать код цвета над курсором в различном формате (удобно для веб-мастеров и программистов).

Участники проекта:

Алексей
EROS


Здесь имена тех, кто уже участвует в проекте!

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


Ответ # 1 | Автор: Игорь Голов
Добавлено:29.01.2008 / 19:27
Ну чтож, неплохо для начала....
Я вот что думаю. Можно ведь через Лену и в Форумы постить, как считаете?

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


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

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

<%
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 | просмотров: 81

Доброго времени суток!
Возникла необходимость написать аналог функции 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 | ответов: 35 | просмотров: 784

Знаю, что компилятор программно вызывается из 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


Ответ # 35 | Автор: Паша
Добавлено:27.01.2008 / 11:33
Какие еще будут предложения?

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


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

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


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


<%
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


Наверх

 

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

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

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

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

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

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

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

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

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

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

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

 

Статьи на Kbyte.Ru

Наверх

 

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

Как поместить одну форму в другую?
Дата добавления: 31.07.2006 / 12:09 | просмотров: 1111 | платформа: VB

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

Поиск слов
Дата добавления: 24.03.2007 / 11:01 | просмотров: 740 | платформа: RegEx

Как можно скрыть заголовок формы?
Дата добавления: 31.07.2006 / 12:04 | просмотров: 1090 | платформа: VB

Как загрузить текстовой файл целиком?
Дата добавления: 31.07.2006 / 17:12 | просмотров: 1000 | платформа: ASP .NET (VB)

Как узнать IP-адрес посетителя?
Дата добавления: 01.09.2006 / 12:23 | просмотров: 2308 | платформа: ASP .NET (VB)

Как получить параметры командной строки?
Дата добавления: 04.08.2006 / 09:20 | просмотров: 1549 | платформа: VB

Анализ URL
Дата добавления: 24.03.2007 / 10:52 | просмотров: 642 | платформа: RegEx

Как сделать поле для ввода пароля?
Дата добавления: 01.08.2006 / 22:08 | просмотров: 1040 | платформа: VB .NET

Использование включаемых файлов
Дата добавления: 01.08.2006 / 11:40 | просмотров: 1211 | платформа: ASP

 

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

Наверх

 

Юмор на Kbyte.Ru

Опоздавший Вовочка влетает в класс. Не поздоровался, шапки не снял.
Учительница строго:
- Вовочка! Немедленно выйди и войди снова!!!
Вовочка:
- Во черт!.. Прям "виндоуз" какой-то...

 

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

 

- Когда Microsoft будет выпускать то, что не тормозит?
- Когда начнет выпускать автомобили

 

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

 

- А вот я себе Windоws98 поставил...
- Ты че, оху*л?!!
- Да нет, у жены месячные начались...

 

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

 

Психиатр говорит своей знакомой:
- Как поживает ваш муж?
- Доктор, но я не замужем!
- Да? Значит ваш муж холостяк!
end data of the request.

 

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

 

- Простите, я задавил вашу кошку. Готов заплатить, или
заменить.
- Хмм... Заменить, говорите? А мышей ловить умеете?

 

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

 

В тридевятом царстве, в тридесятом государстве жил-был Иван-дурак, и была у него триодиннадцатая винда...

 

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

 

Идет программист по улице тут ему на голову падает кирпич. Тетрис, подумал программист...

 

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

 

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

 

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

 

Реклама: "Я делала макияж пассажиркам "Титаника", Тушь остается на ресницах..."

 

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

 

Женщина звонит подруге на мобильный:
- Ты знаешь, где сейчас твой муж?
- Конечно, знаю. На работе.
- А я его вижу в моей постели с какой-то пышноволосой девицей.
- Спасибо за комплимент, дорогая. Только это не мой, а твой муж.

 

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

 

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

Наверх


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

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

Copyright (c) Nemiro AS, 2005-2007


В избранное