C#.Help

mercedes

Форумчанин
Уважаемые господа программисты, помогите пожалуйста вывести статистику про наличие папок и подкаталогов в текущем каталоге(язык С).....вот наработки, но чего - то выделывается, не работает=\

#include "stdafx.h"
#include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
const size_t size_adress_max = 80;
char command[]="dir/p";
char adress[size_adress_max];
cout << "Enter address to scan\n";
cin.getline(adress,size_adress_max);
cout << adress;
system(adress);
system(command);
system("pause");
return 0;
}

чего-то выделывается и всё, помогите пожалуйста....
 

Kaka

Кака
mercedes: темой не ошибся?

Помогите и мне плиз решить задачку:
підрахувати кількість непарних натуральних чиел, що належить інтервалу (а,б), у яких кількість парних цифр дорівнює заданій!!
Может ктото сталкивался с таким,заранее благодарна!

class Program
{
static void Main(string[] args)
{

int sum = 0;
for (int i = Convert.ToInt32(args[0]); i <= Convert.ToInt32(args[1]); i++) if (i % 2 != 0) sum += (i.ToString() as IEnumerable<char>).Count(x => Convert.ToInt32(x) % 2 == 0) == Convert.ToInt32(args[2])? 1 : 0;

Console.WriteLine(sum);
Console.ReadLine();
}
}

кто короче?:) Артём?:)
 
Последнее редактирование:

zx

Member
Может ктото сталкивался с таким,заранее благодарна!

class Program
{
static void Main(string[] args)
{

int sum = 0;
for (int i = Convert.ToInt32(args[0]); i <= Convert.ToInt32(args[1]); i++) if (i % 2 != 0) sum += (i.ToString() as IEnumerable<char>).Count(x => Convert.ToInt32(x) % 2 == 0) == Convert.ToInt32(args[2])? 1 : 0;

Console.WriteLine(sum);
Console.ReadLine();
}
}

кто короче?:) Артём?:)
скобки не закрыты. икс не объявлен. когда цитируешь девочек - ст0ит ставить тэг цЫтаты, если сам мальчик.

кто короче кто длиннее.. никто не пробовал соревноваться - кто надежней и понятней ? проверить каунт у аргсов и т.п.

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

твоя прога не компилицца и исправлению не подлежит.

i.ToString() as IEnumerable<char> - не догнал зачем, но буду ковырять, это реальне любопытная конструкция. это шоб дёшево форичь по чарам заехать? (его,видать,и потеряли..) буду пытацца расти над собой.
 

Kaka

Кака
ты Артём? только дибилы сначала говорят потом думают, скобки закрыты всё компилится и работает, учим матчасть, ключевое слово LINQ. У Артёма спроси шо не ясно:) ну или там литературка бывает даже на русском.

На всякий случай там много вкусного, достаточно убить с недельку на чтиво и таки поставить 2008ю студию:)
 
Последнее редактирование:

Silence

Member
Помогите пожалуйста с таким вопросом. Как изменять свойства контролов виндовсовской формы из другого потока (не создавшего их) без использования Invoke? Использовать .NET старой версии, там где это разрешалось, нет возможности. Есть какие-нибудь методы?
 

Del

Member
Помогите пожалуйста с таким вопросом. Как изменять свойства контролов виндовсовской формы из другого потока (не создавшего их) без использования Invoke? Использовать .NET старой версии, там где это разрешалось, нет возможности. Есть какие-нибудь методы?
А чем Invoke плох?
 

Silence

Member
Тем, что приходиться создавать кучу делегатов, и для обновления каждого контрола писать свой метод...
Можно конечно написать один метод и один делегат для обновления всего и сразу, но это не удобно...
И ещё у меня были проблемы в плане того, что польза от отдельного потока теряется, так как метод вызываемый в потоке "подвешивает" программу частым вызовом синхронного метода Invoke. Пробовал и асинхронный вызов BeginInvoke ... результат тот же... Либо я что-то неправильно делаю... либо invoke - не очень то и легкое (для понимания по крайней мере) решение вопроса потокобезопасности...
 
Как заставить виндовс форм приложение проиграть мп3, стандартный класс SoundPlayer играет только *.wav файлы?
Что-то вроде считать stream по байтам?
 

Cris

Member
я конешно на C# много не пишу но:
 

Cris

Member
Чувак, будь у меня гугл, я б форум не мучал бы этот.
ну ща с этих ссылок процитирую)):
Код:
Автор вопроса: Антон Мозговой  	08.09.2007 / 14:59
Добрый день. Подскажите пожалуйста, возможно ли в C# с использованием пространства имен System.Media воспроизвести файлы mp3, не только wave или как то по другому (но без использования элемента управления Windows Media Player). Если это возможно, то как? Спасибо.

С ув.
Антон Мозговой
Отвечает: EROS 	19.09.2007 / 08:41
С помощью пространства имен System.Media воспроизвести mp3-файлы вы не сможете. Но вы можете использовать NET-сборки для DirectX. Вот они позволяют воспроизводить файлы подобного вида. Причем не только звук но и видео..
Для этого вам надо:
1.Создать References
-Microsoft.DirectX.dll
-Microsoft.DirectX.AudioVideoPlayback.dll
2.Подключить необходимое пространство имен
Using Microsoft.DirectX.AudioVideoPlayback;
3.Создать экземпляр объекта Audio
Audio MyAudio = new Audio(FilePath, true);// FilePath - путь к файлу
Вот, собственно и все..
З.Ы. класс AudioVideoPlayback позволяет воспроизводить практически все известные форматы аудио и видеофайлов .Также имеет минимальный набор функций для управления: громкость, баланс, позиция воспроизведения и т.д..
Код:
Автор: Frozzeg
Прислал:

Все очень просто: используем DirectX библиотеку

создаем класс воспроизведения аудио файлов
Microsoft.DirectX.AudioVideoPlayback.Audio song = new Microsoft.DirectX.AudioVideoPlayback.Audio(@"E:\song.mp3");
проигрываем файл
song.Play();

примечание: нужно вручную добавить библиотеку Microsoft.DirectX.AudioVideoPlayback в Ваш проект (ProjectName -> Add Referense)
P.S. быть программистом без инета ИМХО иногда очень сложно))
 
Кстати, не помогло, возможно потомучто что уменя нету на компе этих библиотек,
т.к. стоит Windows 7 с DirectX 11 да еще и х64.
Пробовал загрузить в Reference старые библиотеки с XP SP3 х32 - не работает.
 

Cris

Member
Кстати, не помогло, возможно потомучто что уменя нету на компе этих библиотек,
т.к. стоит Windows 7 с DirectX 11 да еще и х64.
Пробовал загрузить в Reference старые библиотеки с XP SP3 х32 - не работает.
ну вопшемто нашол в инете вот еше советуют юзать билеотеку DirectShow .NET, я ее дял тебя выкачал даже))) по названиям фалов там примеры и сами либы, лучшего пока ненашол)

------
Если ты кодиш в Visual Studio то поидеи с запуском сложного нече не будет)
 

Вложения

Павел

New Member
class Program
{
static void Main(string[] args)
{

int sum = 0;
for (int i = Convert.ToInt32(args[0]); i <= Convert.ToInt32(args[1]); i++) if (i % 2 != 0) sum += (i.ToString() as IEnumerable<char>).Count(x => Convert.ToInt32(x) % 2 == 0) == Convert.ToInt32(args[2])? 1 : 0;

Console.WriteLine(sum);
Console.ReadLine();
}
}

кто короче?:) Артём?:)
Можно так:
class Program
{
static void Main(string[] a)
{

int sum = 0;
Func<string, int> c = Convert.ToInt32;
var i = c(a[1]);
while (i-->c(a[0]))if (i % 2 != 0)sum += (i.ToString()).Count(x => (x-'0') % 2 == 0) == c(a[2]) ? 1 : 0;

Console.WriteLine(sum);
Console.ReadLine();
}
}

Ну или совсем извращённо
class Program
{
static void Main(string[] a)
{

int sum = 0;
Func<string, int> c = Convert.ToInt32;
Console.WriteLine(Enumerable.Range(c(a[0]), c(a[1])).Where(i => i%2 == 0).Select(i => i.ToString()).Where(
s => s.Count(x => (x - '0')%2 == 0) == c(a[2])).Count());
Console.ReadLine();
}
}
 

RaMoNVicious

3d artist
Відповідь: C#.Help

всем привет

есть проблемко:
имеется текстовый файл с прайсами (почти 300Мб)... в нем 6КК+ строк (чуть больше 6 миллионов)... в этом файле нужно осуществлять поиск...
...считывать их все в массив занимает очь много времени... при загрузке всего файла в string через ReadToEnd() вываливается ошибка АутОфМэмори...

...какие есть варианты поиска в таком файле?..
 

RaMoNVicious

3d artist
Відповідь: C#.Help

...ну насколько я понял списки предложены для хранения данных...

...а мне нужно считать эти данные с харддиска... и данные там строка = структура, поля разделённые "\t"...
...ну или как то производить поиск непосредственно в самом файле...
...или же вообще построить это на БД будет правильнее?..
 

dreamer

Member
Re: Відповідь: C#.Help

...ну насколько я понял списки предложены для хранения данных...

...а мне нужно считать эти данные с харддиска... и данные там строка = структура, поля разделённые "\t"...
...ну или как то производить поиск непосредственно в самом файле...
...или же вообще построить это на БД будет правильнее?..
БД лучший выход, если поиск происходит по разным частям и файл часто меняется.
Как вариант можно сделать индекс (список (хешей) уникальных слов файла с указанием позиции вхождения)
 

RaMoNVicious

3d artist
Відповідь: C#.Help

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

Тарас

hot pepper
Re: Відповідь: C#.Help

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

RaMoNVicious

3d artist
Відповідь: C#.Help

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

dreamer

Member
Re: Відповідь: C#.Help

да в том то и дело, что прайс выдается поставщиком... т.е. тупо целый файл в txt формате на 300 метров... я думаю с индексами тут может не получится... т.к. могут как удалятся позиции, так и добавляться новые... т.е. либо найти способ искать быстро по файлу как то... либо тратить туеву хучу минут и заливать сначала все БД, а потом работать с ней...
Тут весь весь вопрос состоит в том, что происходит чаще — изменение прайса или поиск.
Если изменяются данные раз в неделю (или раз в пару дней), а поиск происходит десятки раз в день то база лучше (проще за пять минут перезалить данные в базу).
 
Верх