Можно ли как-нибудь встроенными средствами .net framework в C# получить информацию о видеофайле (хотя бы продолжительность, разрешение, фреймрейт). А то неохота связываться с WinAPI и стороннимим библиотеками ...
Junior
Статус: Не в сети Регистрация: 11.08.2005 Откуда: Germany
theone писал(а):
Можно ли как-нибудь встроенными средствами .net framework в C# получить информацию о видеофайле (хотя бы продолжительность, разрешение, фреймрейт). А то неохота связываться с WinAPI и стороннимим библиотеками ...
Жаль тема малопопулярна, но отвечу на старый вопрос, т.к. самому было интересно:
-=Barmalei=- писал(а):
Люди, подскажите если знаете ответ. Задача в следующем: К примеру есть строка "word, 1word, wordy, word" мне необходимо заменить слово ''word' в этой строке на new, должно плучиться "new, 1word, wordy, new" Поясню, слово которое заменится не должно быть частью другого слова. пока разбираюсь с Regex, но то что требуется пока не получается. Добавлено спустя 20 минут, 55 секунд желательно на С#
Member
Статус: Не в сети Регистрация: 13.11.2003 Откуда: Москва
Гуру оптимистичной модели ADO.Net, подскажите =) Вот, к примеру, есть у меня DataSet, в таблицы которого внесли изменения - поменяли некоторые данные, что-то добавили, что-то удалили. Хочу скинуть эти изменения в СУБД. Понятно, что можно сохранить, затерев всё, что находится в базе. Хотя кто-нибудь мог внести другие изменения, пока наш пользователь работал "off-line". Но описан где-нибудь "хороший стиль" для уведомления о конфликтах? Скажем, подсветить как-нибудь в DataGrid-е конфликты, переспросить? Подкиньте нормальную статейку или рабочее приложение (лучше всего на C#), где такой стиль реализован, чтобы не изобретать велосипед) Кстати, я правильно понимаю, что если я добавляю новую запись в таблицу своего DataSet, а в этой таблице на колонку идентификатора навесили автоинкремент, то в датасете идентификатору присвоится некоторое левое значение, которое, при сохранении в базу, заменится на нормальное?
_________________ Внимание! Форум в опасности! ИДИОТ ЗА КЛАВИАТУРОЙ!!!
Можно ли как-нибудь встроенными средствами .net framework в C# получить информацию о видеофайле (хотя бы продолжительность, разрешение, фреймрейт). А то неохота связываться с WinAPI и стороннимим библиотеками ...
Собственно почему бы не взять MediaInfo (гугл в помощь), найти нужный участок кода, который всё что вам надо делает, и не скопипастить в свой проект?
// очистка буфера цвета и буфера глубины 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()); }
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); }
Цикл для определения максимума убирал - ничего не менялось...
Подскажите, где можно найти примеры проектов .Net+MSSQL. Глубокие познания пока не нужны, просто нужно разобраться, как все это - связка гуя и бд - работает. гугл, msdn, sql.ru помогли мало - разобрался только как создавать БД на локалхосте (*.sdf для sql compact server и *.dbo для обычного server), подключиться к ним из приложения не выходит
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). Если нет, то откатывать транзакцию и показать пользователю сообщение типа "Данные были изменены другим пользователем. Текущие изменения будут отменены.". Забираем снова данные из базы и редактируем заново.
Мусье, написавший эту статью, знает толк в извращениях. C# и OpenGL, какие-то левые библиотеки - нахрена? Есть стандартные средства, WPF то есть, я бы стал использовать именно их (http://vitiy.info/?p=5), разумеется не забыв погуглить в MSDN насчет возможной оптимизации (http://msdn.microsoft.com/ru-ru/library/bb613591.aspx)
AlimAlex Извращение в любом случае - как минимум теряется одна из главных фич ogl - портируемость. Оптимально писать на DX/OGL (в зависимости от платформы/препочтений)+ C++ или C# + XNA.
Добавлено спустя 2 минуты 46 секунд: О чем интересно думают составители учебных планов
Member
Статус: Не в сети Регистрация: 06.07.2006 Откуда: Киев
Люди, человеки, помогите! Сейчас изучаю асп.нет, нашел интересную 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, урезаный?
Member
Статус: Не в сети Регистрация: 13.11.2003 Откуда: Москва
AlimAlex писал(а):
Я обычно пишу в условии WHERE SQL-команды все старые значения полей (для команд обновления/удаления).
Спасибо. Я пока ждал, уже MCTS стал по ADO.NET
Cooler1983 писал(а):
Я в систему захожу без какой либо учетки!
Так создайте предварительно учётку. При установке надо указывать уже существующие учётные данные. А у вас она, похоже, новая. Ещё и пароли не совпадают, судя по скриншоту)) Или попробуйте везде выбрать, например, NetworkService.
Она может и встанет, но безглючной работы никто не гарантирует. Ставьте либо на серверную ось, либо ставьте редакцию Developer или Standard. Или вообще Express, вашей CMS хватит и её.
_________________ Внимание! Форум в опасности! ИДИОТ ЗА КЛАВИАТУРОЙ!!!
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения