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

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



Выпуск # 252


http://www.kbyte.ru/

 

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

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

 

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

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

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

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

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

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

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

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

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

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

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

    Как получить содержимое Label из другого приложения?

    ? Формат вывода чисел в файл C# HELP

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

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

 

Вопрос #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

Наверх

 

 

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

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

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


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

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


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


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

Здесь два вопроса: можно ли выводить данные из базы в простое текстовое поле 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


Как получить содержимое Label из другого приложения? | Автор: awl100Alex
Добавлено: 21.01.2008 / 21:55 | ответов: 1 | просмотров: 49

Есть такой откомпилированный в EXE код:
Private Sub Form_Load()
Label1.Caption = "Получить это сообщение..."
End Sub

Нужно программно получить содержимое Label1.Caption из другого(!) приложения. Подскажите, пожалуйста, как можно это реализовать???
Может как-то через память, используя функцию API - CopyMemory? Но как конкретно? Если можно, какие-нибудь примеры кодов или ссылки - все что угодно!

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


Ответ # 1 | Автор: Алексей
Добавлено:22.01.2008 / 04:30
http://kbyte.ru/Expert/Show.aspx?id=364

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


? Формат вывода чисел в файл C# HELP | Автор: Dampier
Добавлено: 21.01.2008 / 14:42 | ответов: 1 | просмотров: 53

Уважаемые программисты, подскажите начинающему как сохранить отформатированную информацию.
В данном случае предполагается, что пользователь выбирает из базы данных какой-либо тип (к примеру мышек), автоматически в ряде окошек выдаются параметры этих "мышек", например количество колёсиков, кнопочек, цена. Нужно, чтобы после нажатия кнопки, к примеру применить, сохранялся файл, кримеру temp.txt, в котором цифры были бы записани в виде 0.число+Eчисло (т.е. 100 = 0.100+E03), как это было в стареньком фортране.
Сейчас это реализовано так (см.ниже), но сохраняется число в обычном виде (100, а не 0.100+Е03) как текст и мой старенький фортран не понимает эту форму записи, он хочет 0.100+Е03.
Подскажите, как отформатировать?

FileStream fs = new FileStream("c:\\VEIP_MOD\\temp", FileMode.Create, FileAccess.Write, FileShare.Write);
fs.Close();
StreamWriter sw = new StreamWriter("c:\\VEIP_MOD\\temp", true, Encoding.ASCII);
string NextLine = "This is the appended line.";
sw.Write(textBox01.Text);
sw.Close();

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


Ответ # 1 | Автор: Алексей
Добавлено:21.01.2008 / 15:06
001:
(100).ToString("\0.000+E00")


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

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


Наверх

 

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

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

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

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

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

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

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

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

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

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

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

 

Статьи на Kbyte.Ru

Наверх

 

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

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

Как получит индекс текущей записи в ListView?
Дата добавления: 23.08.2006 / 19:11 | просмотров: 1566 | платформа: VB .NET

Удаление файла
Дата добавления: 31.07.2006 / 17:28 | просмотров: 1101 | платформа: ASP .NET (VB)

Класс доступа к данным SQL Server
Дата добавления: 24.03.2007 / 11:48 | просмотров: 882 | платформа: VB .NET

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

Как динамически добавить элемент управления?
Дата добавления: 17.08.2006 / 17:02 | просмотров: 1361 | платформа: ASP .NET (VB)

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

Как сделать часы?
Дата добавления: 16.08.2006 / 23:30 | просмотров: 1810 | платформа: VB

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

Как определить текущую раскладку клавиатуры?
Дата добавления: 16.08.2006 / 19:38 | просмотров: 1096 | платформа: VB

 

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

Наверх

 

Юмор на Kbyte.Ru

1941 г. Москва. Рабинович вызван в Hаркомат Обороны.
-Товарищ Рабинович! Помогите стране! Hужно распространить за линией фронта 20000 листовок. Будьте осторожны и бдительны!
Через неделю входит Рабинович:
- Все распространил...
- Hеужели все распространили?
- Да. Прошу расписку. Вот деньги.

 

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

 

Стал программист блины печь - первый блин вышел, как полагается комом, ну а второй, как водится, - экзешником.

 

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

 

Объявление в автобусе: "Землю - крестьянам! Фабрики - рабочим! Деньги - кондуктору!"

 

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

 

- Почему женщины не моргают во время прелюдии?
- Не успевают.

 

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

 

- Товарищ прапорщик, "расстегай" - это мясо или рыба?
- Идиот! Это команда!!

 

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

 

- А правда, что Билл Гейтс - самый известный человек не Земле?
- Нет, самый знаменитый человек - его мать, её вспоминают чаще.

 

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

 

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

 

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

 

Кликуха - это не то, что вы подумали, а компьютеpная мышь!

 

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

 

- Скажите, пожалуйста, Рабинович живет в этом доме?
- Да, на третьем этаже. Только его фамилия Михельсон.

 

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

 

В США борьба за равноправие привела к тому, что теперь женщины приравниваются к неграм, голубым и инвалидам.

 

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

 

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

Наверх


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

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

Copyright (c) Nemiro AS, 2005-2007


В избранное