Часовой пояс: UTC + 3 часа




Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 481 • Страница 23 из 25<  1 ... 20  21  22  23  24  25  >
  Пред. тема | След. тема 
В случае проблем с отображением форума, отключите блокировщик рекламы
Автор Сообщение
 

Member
Статус: Не в сети
Регистрация: 10.12.2003
Можно ли как-нибудь встроенными средствами .net framework в C# получить информацию о видеофайле (хотя бы продолжительность, разрешение, фреймрейт). А то неохота связываться с WinAPI и стороннимим библиотеками ...



Партнер
 

member+
Статус: Не в сети
Регистрация: 16.01.2004
Откуда: Estonia,Tallinn
theone писал(а):
продолжительность, разрешение, фреймрейт

У "AVI" это можно сделать почти где угодно даже в QBasic без всяких "средств", открываешь файл и читаешь нужные байты

_________________
X99-TF/E5-2678v3+Evo212/2x16Gb-DDR4-Gloway-TYPE-a@2133-12-13-13-26/GTX970/Asgard-AN3-2TNVMe


 

Junior
Статус: Не в сети
Регистрация: 11.08.2005
Откуда: Germany
theone писал(а):
Можно ли как-нибудь встроенными средствами .net framework в C# получить информацию о видеофайле (хотя бы продолжительность, разрешение, фреймрейт). А то неохота связываться с WinAPI и стороннимим библиотеками ...


Для flv я пользовался:
http://johndyer.name/post/2005/08/23/Fl ... -in-NET-(C).aspx

для avi глянь тут: http://www.alexander-noe.com/video/docu ... on/avi.pdf

а вообще, что-то картина не очень


Жаль тема малопопулярна, но отвечу на старый вопрос, т.к. самому было интересно:
-=Barmalei=- писал(а):
Люди, подскажите если знаете ответ.
Задача в следующем:
К примеру есть строка "word, 1word, wordy, word"
мне необходимо заменить слово ''word' в этой строке на new,
должно плучиться "new, 1word, wordy, new"
Поясню, слово которое заменится не должно быть частью другого слова.
пока разбираюсь с Regex, но то что требуется пока не получается.
Добавлено спустя 20 минут, 55 секунд
желательно на С# :roll:


с RegularExpressions:
Код:
string input = "word, 1word, wordy, word";
string resultString = System.Text.RegularExpressions.Regex.Replace(input, @"\bword\b", "new", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
Console.WriteLine(resultString);


new, 1word, wordy, new

проще, чем со сплитом.


 

Member
Статус: Не в сети
Регистрация: 13.11.2003
Откуда: Москва
Гуру оптимистичной модели ADO.Net, подскажите =)
Вот, к примеру, есть у меня DataSet, в таблицы которого внесли изменения - поменяли некоторые данные, что-то добавили, что-то удалили. Хочу скинуть эти изменения в СУБД. Понятно, что можно сохранить, затерев всё, что находится в базе. Хотя кто-нибудь мог внести другие изменения, пока наш пользователь работал "off-line". Но описан где-нибудь "хороший стиль" для уведомления о конфликтах? Скажем, подсветить как-нибудь в DataGrid-е конфликты, переспросить? Подкиньте нормальную статейку или рабочее приложение (лучше всего на C#), где такой стиль реализован, чтобы не изобретать велосипед)
Кстати, я правильно понимаю, что если я добавляю новую запись в таблицу своего DataSet, а в этой таблице на колонку идентификатора навесили автоинкремент, то в датасете идентификатору присвоится некоторое левое значение, которое, при сохранении в базу, заменится на нормальное?

_________________
Внимание! Форум в опасности! ИДИОТ ЗА КЛАВИАТУРОЙ!!!


 

Junior
Статус: Не в сети
Регистрация: 27.06.2007
theone писал(а):
Можно ли как-нибудь встроенными средствами .net framework в C# получить информацию о видеофайле (хотя бы продолжительность, разрешение, фреймрейт). А то неохота связываться с WinAPI и стороннимим библиотеками ...


Собственно почему бы не взять MediaInfo (гугл в помощь), найти нужный участок кода, который всё что вам надо делает, и не скопипастить в свой проект?


 

Member
Статус: Не в сети
Регистрация: 30.09.2006
Откуда: Ростов-на-Дону
На базе вот этого примера написал свою прогу.
http://www.esate.ru/page.php?where=riso ... arp-OpenGL

Вот моя функция Draw

Код:
 private void Draw()
        {

         
           
            // очистка буфера цвета и буфера глубины
            Gl.glClear(Gl.GL_COLOR_BUFFER_BIT | Gl.GL_DEPTH_BUFFER_BIT);
            // очищение текущей матрицы
            Gl.glLoadIdentity();
           
            // помещаем состояние матрицы в стек матриц
            Gl.glPushMatrix();
            // выполняем перемещение в прострастве по осям X и Y
            Gl.glTranslated(NulX, NulY, 0);

            DrawLines();
            DrawAxis();
            DrawText();
            DrawDiagram();
            if (WaweletFlag) DrawDiagram3D();
            DrawValue();

            // возвращаем матрицу из стека
            Gl.glPopMatrix();
            // дожидаемся завершения визуализации кадра
            Gl.glFlush();
           
        }


В общем, все замечательно, пока не посмотришь на загрузку процессора.
Если не выводить текст (закомментить DrawText и DrawValue) и выключить DrawDiagram3D(), загрузка
моего Q6600 составляет 25%. Если выводить текст, но не включать DrawDiagram3D(), загрузка на проц
резко падает (1-3%). А если убрать комментарий с DrawDiagram3D(), то нагрузка взлетает до 35-50%!!!.
Самое интересное, что если в самой программе быстро выключить и включить DrawDiagram3D() (изменив значение WaweletFlag), то загрузка чуть снизится и снова станет 35-50%! А если подождать, пока загрузка до 3% упадет,
после включения DrawDiagram3D() нагрузка возрастает только до 25%!!!

Интересующие процедуры
Код:
private void DrawText()
        {
            Gl.glColor3f(0, 0, 0);
           

            for (int i = 0; i < AnT.Width; i += 100)
            {
                PrintText2D(i, -12, ((i + ShiftX) / MultW).ToString());
                PrintText2D(-i, -12, ((-i + ShiftX) / MultW).ToString());
            }

            for (int i = 0; i < AnT.Height; i += 100)
            {
                PrintText2D(-12, i, ((i + ShiftY) / MultH).ToString());
                PrintText2D(-12, -i, ((-i + ShiftY) / MultH).ToString());
            }
           
        }


Код:
 private void DrawDiagram3D()
        {
            Gl.glPointSize(2);
            Gl.glBegin(Gl.GL_POINTS);

            float max = 1;

            for (int m = 0; m < 400; m++)
                for (int k = 0; k < 400; k++)
                {
                    if (Math.Abs(GrapValuesArray2[m, k]) > max)
                        max = Math.Abs(GrapValuesArray2[m, k]);
                }


           
            float color = 0;

            Gl.glColor3f(1, 0, 0);
            for (int m = 0; m < 400; m++)
                for (int k = 0; k < 400; k++)
                {
                    color = (Math.Abs(GrapValuesArray2[m, k]) / (2*max)) * Brightnes;
                    Gl.glColor3f(color*BR, color*BG, color*BB);
                   
                    Gl.glVertex2d(2 * m, 2 * k);
                }

            Gl.glEnd();
            Gl.glPointSize(1);
        }


Цикл для определения максимума убирал - ничего не менялось...

Таймер, в котором обновляется изображение
Код:
private void timer1_Tick(object sender, EventArgs e)
        {
            AnT.Width = splitContainer1.Panel2.Width;
            AnT.Height = splitContainer1.Panel2.Height;
            if (NulX > AnT.Width) NulX = AnT.Width;
            if (NulY > AnT.Height) NulY = AnT.Height;
           
            Draw();
            AnT.Invalidate();
        }

_________________
Я знаю, что ничего не знаю. Но некоторые не знают даже этого!


 

Member
Статус: Не в сети
Регистрация: 30.09.2006
Откуда: Ростов-на-Дону
Сегодня скачал Process Explorer.
DrawDiagram3D() включен
http://images.people.overclockers.ru/194422.jpg
Выключен
http://images.people.overclockers.ru/194423.jpg
Видимо, все дело в nvoglnt.dll...
Только вот что делать...

_________________
Я знаю, что ничего не знаю. Но некоторые не знают даже этого!


 

Member
Статус: Не в сети
Регистрация: 17.10.2005
Откуда: Киров-ННовгород
Подскажите, где можно найти примеры проектов .Net+MSSQL. Глубокие познания пока не нужны, просто нужно разобраться, как все это - связка гуя и бд - работает. гугл, msdn, sql.ru помогли мало - разобрался только как создавать БД на локалхосте (*.sdf для sql compact server и *.dbo для обычного server), подключиться к ним из приложения не выходит :-x

vo1
Посмотри в профайлере, куда уходит cpu-time. может и правда ogl-рендер все съедает.


 

Advanced member
Статус: Не в сети
Регистрация: 30.08.2003
Откуда: Санкт-Петербург
Delin
а что сложного? Просто правильно параметры при коннекте задайте: имя компьютера (лучше IP), логин-пароль и название базы...
К тому же мне отсюда не видно настроек SQL сервера, а также какими классами-ф-циями Вы пользуетесь

_________________
{:€ дед в законе :-) нородный окодемег
почетный пользователь OpenSuSE 11.3
Ремонт и модернизация ноутбуков IBM (Lenovo) ThinkPad


 

Заблокирован
Заблокирован
Статус: Не в сети
Регистрация: 27.04.2010
Apocalypse писал(а):
Гуру оптимистичной модели ADO.Net, подскажите =)
Вот, к примеру, есть у меня DataSet, в таблицы которого внесли изменения - поменяли некоторые данные, что-то добавили, что-то удалили. Хочу скинуть эти изменения в СУБД. Понятно, что можно сохранить, затерев всё, что находится в базе. Хотя кто-нибудь мог внести другие изменения, пока наш пользователь работал "off-line". Но описан где-нибудь "хороший стиль" для уведомления о конфликтах? Скажем, подсветить как-нибудь в DataGrid-е конфликты, переспросить? Подкиньте нормальную статейку или рабочее приложение (лучше всего на C#), где такой стиль реализован, чтобы не изобретать велосипед)

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

_________________
избранный пришел


 

Member
Статус: Не в сети
Регистрация: 03.04.2010
Откуда: Полоцк
Альтруист писал(а):
для этого таблица с которой работает текущий юзер лочится, и второй не сможет начать редактировать, вот и все.

Очень плохой метод блокировки целой таблицы. Все остальные будут ждать, пока текущий юзер сохранит изменения.
Apocalypse
Я обычно пишу в условии WHERE SQL-команды все старые значения полей (для команд обновления/удаления). Скрипт обновления выполняется в транзакции. При этом считаем количество affected строк. Если оно совпадает с количеством измененных строк в таблице, то конфликтов не было, и транзакцию можно сохранять (commit). Если нет, то откатывать транзакцию и показать пользователю сообщение типа "Данные были изменены другим пользователем. Текущие изменения будут отменены.". Забираем снова данные из базы и редактируем заново.

_________________
955BE•TT BT VX•M4A78T-E•KVR1333D3N9K2/4G•ST31000528AS•WD15EARS-00MVWB0•WD20EARX•HD4870 VAPOR-X 1GB•INWIN IP-S550AQ3-0


 

Member
Статус: Не в сети
Регистрация: 22.02.2008
Откуда: ниоткуда
vo1 писал(а):
На базе вот этого примера написал свою прогу.
http://www.esate.ru/page.php?where=riso ... arp-OpenGL

Мусье, написавший эту статью, знает толк в извращениях. C# и OpenGL, какие-то левые библиотеки - нахрена? :slobber: Есть стандартные средства, WPF то есть, я бы стал использовать именно их (http://vitiy.info/?p=5), разумеется не забыв погуглить в MSDN насчет возможной оптимизации (http://msdn.microsoft.com/ru-ru/library/bb613591.aspx)


 

Member
Статус: Не в сети
Регистрация: 03.04.2010
Откуда: Полоцк
Yubi писал(а):
Мусье, написавший эту статью, знает толк в извращениях. C# и OpenGL, какие-то левые библиотеки - нахрена? :slobber:

Потому что целью была разработка компьютерной графики с .NET C# и OpenGL API, а не WPF.

_________________
955BE•TT BT VX•M4A78T-E•KVR1333D3N9K2/4G•ST31000528AS•WD15EARS-00MVWB0•WD20EARX•HD4870 VAPOR-X 1GB•INWIN IP-S550AQ3-0


 

Member
Статус: Не в сети
Регистрация: 17.10.2005
Откуда: Киров-ННовгород
AlimAlex
Извращение в любом случае - как минимум теряется одна из главных фич ogl - портируемость. Оптимально писать на DX/OGL (в зависимости от платформы/препочтений)+ C++ или C# + XNA.

Добавлено спустя 2 минуты 46 секунд:
О чем интересно думают составители учебных планов :?:


 

Member
Статус: Не в сети
Регистрация: 06.07.2006
Откуда: Киев
Люди, человеки, помогите! :writer:
Сейчас изучаю асп.нет, нашел интересную CMS Kentico под эту платформу. Решил ее поставить дома, но тут возникла трабла, для установки CMS нужно устанвоить SQL SERVER, скачал SQL SERVER 2008 Enterprize и не могу ее установить, я первый раз сервер ставлю, вообще полный ноль! Копал инет, ничего не могу найти, у меня выдает при установке такие ошибки и я не знаю как их исправить, вот:
[Сообщение об ошибке]
Для службы "SQL Server, агент" указаны недопустимые учетные данные. Чтобы продолжить, укажите допустимую учетную запись и пароль для службы "SQL Server, агент".

[Сведения]
Microsoft.SqlServer.Configuration.Agent.InputValidationException: Для службы "SQL Server, агент" указаны недопустимые учетные данные. Чтобы продолжить, укажите допустимую учетную запись и пароль для службы "SQL Server, агент".
================================================================================

[Сообщение об ошибке]
Указаны недопустимые учетные данные для службы SQL Server. Чтобы продолжить, укажите допустимую учетную запись и пароль для службы SQL Server.

[Сведения]
Microsoft.SqlServer.Configuration.SqlEngine.ValidationException: Указаны недопустимые учетные данные для службы SQL Server. Чтобы продолжить, укажите допустимую учетную запись и пароль для службы SQL Server.
================================================================================

[Сообщение об ошибке]
Для службы Integration Services указаны недопустимые учетные данные. Чтобы продолжить, укажите допустимую учетную запись и пароль для службы Integration Services.
================================================================================
Фотка: http://www.fotolinker.ru/show-image.php ... e942699f31


Пс. или подскажите, может поставить какой-то простой sql server, урезаный?


 

Заблокирован
Заблокирован
Статус: Не в сети
Регистрация: 27.04.2010
учетная запись суперюзеровская? больше мыслей нет

_________________
избранный пришел


 

Member
Статус: Не в сети
Регистрация: 03.04.2010
Откуда: Полоцк
Cooler1983
Укажи существующую учетную запись и правильный пароль на нее. Я указывал свою учетную запись, под которой захожу в систему.

_________________
955BE•TT BT VX•M4A78T-E•KVR1333D3N9K2/4G•ST31000528AS•WD15EARS-00MVWB0•WD20EARX•HD4870 VAPOR-X 1GB•INWIN IP-S550AQ3-0


 

Member
Статус: Не в сети
Регистрация: 06.07.2006
Откуда: Киев
Я в систему захожу без какой либо учетки!


 

Member
Статус: Не в сети
Регистрация: 13.11.2003
Откуда: Москва
AlimAlex писал(а):
Я обычно пишу в условии WHERE SQL-команды все старые значения полей (для команд обновления/удаления).

Спасибо. Я пока ждал, уже MCTS стал по ADO.NET :)

Cooler1983 писал(а):
Я в систему захожу без какой либо учетки!

Так создайте предварительно учётку.
При установке надо указывать уже существующие учётные данные. А у вас она, похоже, новая. Ещё и пароли не совпадают, судя по скриншоту))
Или попробуйте везде выбрать, например, NetworkService.

И, кстати, вы там что, на Windows 7 ставите?
Редакция Enterprise поддерживает только серверные операционки.

Она может и встанет, но безглючной работы никто не гарантирует. Ставьте либо на серверную ось, либо ставьте редакцию Developer или Standard. Или вообще Express, вашей CMS хватит и её.

_________________
Внимание! Форум в опасности! ИДИОТ ЗА КЛАВИАТУРОЙ!!!


 

Member
Статус: Не в сети
Регистрация: 03.04.2010
Откуда: Полоцк
Apocalypse
У меня на семерке Enterprise стоит (что было то и поставил :-)). Нормально пашет.

_________________
955BE•TT BT VX•M4A78T-E•KVR1333D3N9K2/4G•ST31000528AS•WD15EARS-00MVWB0•WD20EARX•HD4870 VAPOR-X 1GB•INWIN IP-S550AQ3-0


Показать сообщения за:  Поле сортировки  
Начать новую тему Новая тема / Ответить на тему Ответить  Сообщений: 481 • Страница 23 из 25<  1 ... 20  21  22  23  24  25  >
-

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  



Лаборатория














Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB | Kolobok smiles © Aiwan