Технологія будівництва метрополітену

[ виправити ] текст може містити помилки, будь ласка перевіряйте перш ніж використовувати.

скачати

Зміст.

1. Анотація (Annotation) стор 2
2. Загальний розділ 3
2.1. Історія розвитку метрополітену. Метрополітен сьогодні. 4
2.2. Введення. 8
2.3. Гірничо-геологічні умови будівництва. 9
2.4. Вибір і розрахунок перетину вертикального стовбура. 10
2.5. Розрахунок паспорта буро-вибухових робіт. 12
2.6. Розрахунок параметрів заморожування масиву. 14
2.7. Технологія ведення робіт по заморожуванню породного масиву. 17
2.8. Виробництво гірничопрохідницьких робіт. 19
3. Основна частина. 21
3.1. Навантаження від гірського тиску на оброблення вертикальних стволів метрополітенів. 22
          3.2. Перевірка несучої здатності тюбінгів оброблень вертикальних стволів метрополітенів. 29
          3.3. Розрахунок параметрів і побудова паспорта міцності       несучої здатності тюбінгів оброблень вертикальних стволів метрополітенів. 32
          3.4. Перевірка стійкості тюбінгів оброблень вертикальних стволів метрополітенів. 35
4. Програми. 36
4.1. Програма для перевірки несучої здатності і побудови паспорта міцності тюбінгів оброблень вертикальних стволів метрополітенів. 37
5. Список використаної літератури. 57

2. Загальний розділ

2.1. ІСТОРІЯ РОЗВИТКУ МОСКОВСЬКОГО МЕТРОПОЛІТЕНУ. МЕТРОПОЛІТЕН СЬОГОДНІ.

Тунелі метрополітенів відносяться до категорії капітальних споруд, термін служби яких планується не менш ніж на сторіччя. Тому не випадково теоретик метробудування П. І. Балинський, аналізуючи чинники, що впливають на життєвість таких позавуличних транспортних систем, залежних, головним чином, від чисельності і рухливості населення найбільших міст, звертається до періодів такого масштабу.

На початку минулого століття, коли з'явилися метрополітени, населення самого великого міста планети - Лондона досягло мільйона чоловік (в 1800 р. - 950 тис., а вже в 1801 р. - 1 млн.145 тис. чол) і продовжувало зростати.

Нашестя Наполеона перетворило палаючу столицю у майже безлюдний місто. Але всього через два роки місто стало швидко оживати. В англійській столиці в 1814 році Олександру I представили члена Лондонського королівського товариства, талановитого військового інженера Марка Брюнеля. Мова зайшла про нагальну проблему пристрою постійної шосейної переправи через р.Неву в Петербурзі, в результаті чого з Брюнелем був укладений контракт на її проектування. Розпочату в 1814 р. роботу він передав російським замовникам на початку 20-х рр.. у двох варіантах: мостовому і тунельному. Варіант підводного тунелю виник внаслідок побоювання руйнування опор мосту пливучими крижинами. В основі проекту виявилося чудовий винахід - тунелепрохідний щит, що став згодом найбільш ефективним засобом метробудування не тільки в Росії та Англії, а й в усьому світі. Ідея виникла під час спостереження за морським молюском-червицею, пробурівавшім своєї раковиною отвори в уламках затонулого корабля. У перших ескізах Брюнель представив механічну копію такого циліндричного черв'яка для буріння тунелів зі збірною тюбінговій обробленням, що монтується по спіралі, - справжнього попередника майбутніх механізованих щитів. Брюнеля не відпустили в Росію. Країну, з якою він мав офіційні ділові зв'язки, і, позбувшись підтримки помер у 1825 р. Олександра I, він залишився в Лондоні. Брюнель переробив креслення стосовно до місцевих умови р.Темзи, подібним з Невою.

У 1863 р. сталася головна подія в історії метробудування - пуск першого в світі 3,6-кілометрового підземного ділянки позавуличним залізниці в Лондоні. У 1863 р. парламентська комісія схвалила спорудження підземної кільцевої лінії загальною протяжністю 30 км. Вона що відкрили в 1884 р.

Велику увагу привернула будівля перший електрифікована лінії в Парижі, з якою могли ознайомитися численні відвідувачі Всесвітньої виставки 1900 р. Активне участь у створенні цієї та кількох наступних ліній брав російський інженер, ентузіаст вітчизняного метробудування С. Н. Розанов.

Настав час впевненою прокладки підземних ліній метрополітенів у Берліні, Гамбурзі, Філадельфії, Мадриді, Барселоні, Токіо. Почалася боротьба за метрополітен у Петербурзі та Москві.

Перед першою світовою війною транспортну кризу в Москві різко обостірлся, в результаті чого з'явилося кілька нових пропозицій метрополітену, ініційованих Міською Управою. Населеність Москви до 1915 р. досягла двохмільйонної позначки і, здавалося, що проблема набуває образ реальності, але перешкодили воєнні та революційні події, перетворити країну.

Для якнайшвидшого відновлення міського комунального господарства в Москві було створено управління МКХ. Роботу в ньому очолили досвідчені інженери К. С. Мишенков і С. Н. Розанов, які перейшли в 1931 р. в організований "Метробуд". Проходка в цьому ж році почалася з досвідченого ділянки по робочих кресленнях Технічного відділу Управління Метробуду, а потім - Метропроект, випущеним під керівництвом проф.В.Л.Ніколаі. Будівництво першого в світі Лондонського і першого в нашій країні здійснювалася за кресленнями, розробленими ще до створення будівельних організацій: у Лондоні - Брюнеля, а в Москві - досвідченого тунелю С. М. Розанова.

Спорудження лінії 1 черги велося з непідробним ентузіазмом, а пуск першого в Росії метрополітену ознаменувався, як справжній свято.

Сьогодні неможливо собі уявити нашу столицю без найшвидшого і ефективного міського транспорту - метрополітену. Загальна довжина підземних магістралей перевищила 250 км і продовжує зростати. Щоденні перевезення досягли 8,7 млн. пасажирів. Все це забезпечується невпинним праці 30-тисячного колективу метрополітену.

Московський метрополітен - первісток вітчизняного метробудування - з моменту свого відкриття в 1935 році займає провідне положення в галузі, будучи флагманом науково-технічного прогресу в системі метрополітенів країни.

У житті найбільших міст світу, в тому числі і Москви, метрополітен є найбільш зручним для населення видом міського пасажирського транспорту. 15 травня 1995 виповнилося 60 років з дня відкриття руху поїздів на першій лінії Московського метрополітену протяжністю 11,2 км з 13 станціями.

З тих пір метрополітен постійно розвивався, удосконалювався його складне господарство. Сьогодні експлуатаційна довжина 9 ліній досягла 243,6 км з 150 станціями.

Зі збільшенням довжини траси постійно зростав і обсяг перевезень пасажирів: у 1935 р. середньодобові показники становили 177 тис., а в 1994 р. 8723 тис. осіб. В даний час на частку метрополітену доводиться 51,7% обсягу всіх пасажирських перевезень міста. Максимальна інтенсивність руху - 42 пари 8-вагонних потягів на годину, інтервал між поїздами 85 секунд (Замоскворецкая лінія). Такий інтенсивності руху немає ні на одному метрополітені світу. Крім того, заповнюваність вагонів значно перевищує допустимі норми, що негативно позначається на надійності пристроїв вагонів, шляхи і, в кінцевому рахунку, на виконанні графіка руху поїздів.

За оцінками фахівців, метрополітену для повного забезпечення потреби столиці в перевезеннях пасажирів неддостает близько 100 км ліній, В даний час щільність мережі метрополітену на 1 км2 площі міста становить 0,26 км, в той час як у Нью-Йорку цей показник дорівнює 0,5 , у Лондоні - 1,2, у Парижі - 2,8 км.

За 60 років: перевезено понад 86 млрд пасажирів; пропущено близько 111 мільйонів поїздів, з яких 99,93% прослідувало суворо за графіком; зекономлено електроенергії 515 млн кВтг.

Серед метрополітенів Російської Федерації середньодобова перевезення пасажирів Московського метрополітену складає близько 80%, що майже в 5,4 рази вище середньодобової перевезення С.-Петербурзького і в 29 разів - Новосибірського метрополітенів.

МЕТРОПОЛІТЕН У ЦИФРАХ

Показники 15 травня 1935 15 травня 1995
Протяжність ліній, км 11,2 243,6
Їх кількість 1 9
Кількість станцій у тому числі: - пересадочних - обладнаних ескалаторами 13 - 4 150 49 107
Кількість вестибюлів 16 232
Те ж, ескалаторних машин 15 508
Протяжність сходового полотна ескалаторів, км 1.5 55.2
Розгорнута довжина тунелів, км 13.01 521.6
Те ж, колії, км 30.08 703.7
Середньодобовий перевезення пасажирів, тис. чол. 177 8723
Річний обсяг перевезення, млн. чол. 110.7 3183.9
Питома вага в загальноміських перевезеннях,% 2 51.7
Кількість вагонів 58 4060
Максимальна кількість вагонів у складі 4 8
Максимальна частота руху поїздів, пар / год 15 42
Мінімальний інтервал між поїздами 5 хв. 85 сек
Пропуск поїздів у середньому за добу (проїзд) 487 7870
Конструктивна швидкість руху, км / год 50 90
Середня експлуатаційна, км / год 26.7 41
Питома витрата електроенергії, кВтг / тис.тн.-км 67.2 55.5
Чисельність працівників з експлуатації, чол 1991 24615
Те ж на 1 км шляху, чол 181 104.3

2.2. Введення.

Вертикальний стовбур є розкриває гірської виробленням для розкриття фронту прохідницьких робіт при будівництві станцій метрополітену глибокого закладення.

У процесі будівництва підземної споруди через вертикальний стовбур ведуть всі будівельні роботи. Він служить для видачі породи, подачі матеріалів, обладнання та елементів обробки, для енергопостачання, водовідливу і вентиляції при проходці, а так само для спуску і підйому людей.

У період експлуатації станції метрополітену глибокого закладення стовбур використовують головним чином для вентиляції споруди. В окремих випадках стовбури забучіваются.

Вертикальний ствол має круговий розтин, що забезпечує раціональну роботу оброблення в умовах всебічного гірського тиску.

2.3. Гірничо-геологічні умови будівництва.

Гірничо-геологічний район будівництва вертикального стовбура круглої форми діаметром в проходці 6 м і завглибшки 45 м складається з водоносних піщаних і глинистих грунтів і вапняків:

- Пухкі гірські породи, галька, гравій, пісок.

- Наноси, злежалі грунти, пластичні глини, вапняк білий дрібнокристалічний.

Абсолютна відмітка устя ствола 131 м. Глибина стовбура 45м.

Потужності пластів піску Технологія будівництва метрополітену , Глини та вапняку Технологія будівництва метрополітену дорівнюють відповідно 10, 15 і 25 м.

Пористість піску, глини та вапняку рівні відповідно 38, 40 і 39%, а вагові вологості - 17, 22 і 20%.

Питомі ваги піску, глини та вапняку рівні відповідно 19, 19.6 та 21 Н/м3.

Початкова температура грунту і температура замерзання рівні відповідно = +120 С і Технологія будівництва метрополітену = 00С.

2.4. Вибір і розрахунок перетину вертикального стовбура.

Для забезпечення раціональної роботи матеріалу оброблення в умовах всебічного гірського тиску приймаємо круглу форму перетину стовбура. Зробимо розрахунок розмірів перерізу стовбура.

Визначаємо годинну продуктивність підйому:

Aч = Технологія будівництва метрополітену , Т / год,

де кр = 1.5 - коефіцієнт нерівномірності підйому;

N = 300 - число робочих днів у році;

t = 16 - год / добу - час роботи на добу;

АГ - річний об'єм грунту видається зі стовбура, АГ »100000 м3.

Aч = Технологія будівництва метрополітену т / год.

Визначаємо масу вантажу видається за один раз:

Технологія будівництва метрополітену Aч, т,

де Технологія будівництва метрополітену - Висота підйому, м;

НСТ = 45 м - глибина стовбура;

h1 = 8.1 м - висота відкатувального горизонту;

Технологія будівництва метрополітену м;

q = 12 сек - час розвантаження-завантаження кліті.

Технологія будівництва метрополітену т.

Визначаємо обсяг одночасно вантажу, що піднімається:

Технологія будівництва метрополітену , М3,

де g = 1.9 ¸ 2.1 т/м3 - середня щільність видається породи.

Технологія будівництва метрополітену м3.

За отриманою вантажопідйомності вибираємо:

- Вагонетка УВГ - 1.6:

місткість кузова 1.6 м3;

габарити - 850'1300'2700 мм;

ширина колії - 600 мм;

- Кліть марки 1УКН3.3Г-2, з розмірами:

ширина - 1000 мм:

висота - 3040 мм:

довжина - 3300 мм;

- Підйомна машина марки 2БМ-2000/1030-3А:

двухбарабанние;

діаметр каната dк = 24 мм;

висота підйому - 170 м;

споживана потужність - 90 кВт;

маса машини - 31100 кг.

Зробимо вибір армуючих елементів.

В якості провідників приймаємо сосновий брус 160'180 мм. Розстрілами приймаємо балки з двутавра № 24.

З огляду на все мінімально-допустимі зазори:

- Зазори між розстрілами і кліттю - 200 мм;

- Зазори між провідниками та напрямними башмаками кліті - 10 мм;

- Зазор між кутом кліті та обробленням - 150 мм;

і розміри лесоспуска 1.5 м2, і сходового відділення - 0.6 '0 .7 м, а так само враховуючи товщину тюбінговій кільця обробки, графічно визначаємо шукане перетин стовбура.

Найближчим до типового перетину стовбура є перетин стовбура з зовнішнім діаметром з оброблення 6.0 м.

Приймаються DСТВ = 6.0 м.

2.5. Розрахунок паспорта буро-вибухових робіт.

Визначимо питома витрата вибухової речовини та приймемо його тип. За даних гірничо-геологічних умовах будівництва найбільш доцільно застосувати амоніт № 6ЖВ, в патронах діаметром 32 мм. Електродетонатори типу ЕДКУ-ПМ-15 з серіями уповільнення - 0; 0.15; 0.30; 0.45; 0.60 сек.

Технологія будівництва метрополітену , Кг/м3,

де q1 = 0.1f, де f = 4 - фортеця вміщуючих порід за професору Протодьяконова;

Технологія будівництва метрополітену ,

Технологія будівництва метрополітену

Технологія будівництва метрополітену ,

де Sпрох - перетин стовбура в проходці

Технологія будівництва метрополітену ВЧ м2

Sвч = 28.26 м2

Технологія будівництва метрополітену

Технологія будівництва метрополітену - Коефіцієнт працездатності;

Технологія будівництва метрополітену

Технологія будівництва метрополітену кг/м3.

Визначимо кількість шпурів у перерізі

Технологія будівництва метрополітену ,

де

Технологія будівництва метрополітену

Технологія будівництва метрополітену

Технологія будівництва метрополітену

Технологія будівництва метрополітену

Технологія будівництва метрополітену шпурів.

Визначимо і задамо інші параметри буро-вибухових робіт:

глибина шпуру - Технологія будівництва метрополітену м;

глибина заходки - Технологія будівництва метрополітену м;

КВШ = 0.8 ( Технологія будівництва метрополітену );

Визначимо витрату вибухової речовини за цикл:

Технологія будівництва метрополітену ,

Технологія будівництва метрополітену кг / цикл.

Заряджання шпурів призводиться наступним чином:

в центральний (буферний) шпур заряджається одна шашка масою 250 грам, під врубові - 3 шашки, в відбійні - 2 шашки. Загальна кількість шашок - 98 штук. Підривання проводиться методом зворотного ініціювання. Матеріал набійки - пісок середніх фракцій. Підривання проводиться з чотирма ступенями уповільнення.

2.6. Розрахунок параметрів заморожування масиву.

Розрахунок ледогрунтового огорожі.

Розрахунок товщини ледогрунтового огорожі виробляємо за формулою Ляме.

Технологія будівництва метрополітену ,

де Технологія будівництва метрополітену м - радіус стовбура в проходці;

Технологія будівництва метрополітену МПа - допустимий межа міцності заморожених порід на стиск;

Технологія будівництва метрополітену - Коефіцієнт запасу міцності при стисканні, рівний 2-5.

Технологія будівництва метрополітену - Тиск масиву на ледогрунтовое огорожу, де

Технологія будівництва метрополітену - Питома вага грунту, т/м3;

Технологія будівництва метрополітену м - глибина заморожування;

Технологія будівництва метрополітену МПа

Технологія будівництва метрополітену м.

Розрахунок діаметра заморожування і числа заморожувальних

Число колонок

Технологія будівництва метрополітену ,

де Технологія будівництва метрополітену ;

Технологія будівництва метрополітену м - діаметр стовбура;

Технологія будівництва метрополітену - Глибина заморожування;

Технологія будівництва метрополітену м

Технологія будівництва метрополітену колонки,

де Технологія будівництва метрополітену м - відстань між колонками.

Розрахунок Потужність замораживающей станції.

Технологія будівництва метрополітену ,

де Технологія будівництва метрополітену ккал / год,

де Технологія будівництва метрополітену м - діаметр замораживающей колонки;

Технологія будівництва метрополітену - Глибина заморожування;

Технологія будівництва метрополітену ккал/м2.час

Технологія будівництва метрополітену ккал / год

Технологія будівництва метрополітену ккал / год

Таким чином виходячи з отриманої Потужність приймаємо установку заморожування Пху-50.

Технічні характеристики Пху-50:

- Потужність при

Технологія будівництва метрополітену і - 203 ккал / год;

- Загальна встановлена ​​потужність електродвигуна - 105 кВт;

- Холодоагент - фреон;

- Одночасна зарядка хладоном R-22 - 550 кг;

- Робочий тиск охолоджувальної води - 0.4 МПа;

- Зарядка системи CaCl2 - 1.6 т.

На час експлуатації використовуються чотири станції Пху-50, одна з яких резервна, але іноді включається в роботу.

Розрахунок часу активного заморожування.

Технологія будівництва метрополітену , Діб,

де Технологія будівництва метрополітену , Де

Технологія будівництва метрополітену - Обсяг породного циліндра;

Технологія будівництва метрополітену

Технологія будівництва метрополітену м3

Технологія будівництва метрополітену ,

де Технологія будівництва метрополітену

Технологія будівництва метрополітену м3

Технологія будівництва метрополітену

Технологія будівництва метрополітену - Пористість

Технологія будівництва метрополітену ккал/0С.кг

Технологія будівництва метрополітену кг/м3

Технологія будівництва метрополітену

Технологія будівництва метрополітену

Технологія будівництва метрополітену ккал/м3

Технологія будівництва метрополітену , Де

Технологія будівництва метрополітену ккал / кг

Технологія будівництва метрополітену ккал / кг

Технологія будівництва метрополітену

Технологія будівництва метрополітену

Технологія будівництва метрополітену кг/м3

Технологія будівництва метрополітену ккал/0С.кг

Технологія будівництва метрополітену

Технологія будівництва метрополітену ккал/м3

Технологія будівництва метрополітену

Технологія будівництва метрополітену м3

Технологія будівництва метрополітену кг/м3

Технологія будівництва метрополітену ккал/0С.кг

Технологія будівництва метрополітену ккал/м3

Технологія будівництва метрополітену ккал/м3

Технологія будівництва метрополітену ккал/м3

Технологія будівництва метрополітену

Технологія будівництва метрополітену ккал/м2.час

Технологія будівництва метрополітену м2

Технологія будівництва метрополітену ккал

Технологія будівництва метрополітену на добу

Таким чином час активного заморожування рівно 23 діб, так як необхідний час на підключення і перевірку Потужність станції близько 7 днів.

Під час пасивного режиму заморожування Потужність станції береться рівній 35% від активного режиму заморожування, що забезпечується постійною роботою однієї станції Пху-50 з періодичним підключенням ще однієї Пху-50.

2.7. Технологія ведення робіт по заморожуванню породного масиву.

Спорудження стовбура починається із зведення форшахти, яка виконує роль оголовка стовбура. Спочатку відривається котлован на глибину 4 м і на бетонну підготовку товщиною 15 см водружаються чотири тюбінгів кільця стовбура. Далі, попередньо вставивши кондуктора під буріння заморожувальних свердловин, з труб діаметром 219 мм в затюбінговий простір закачується бетон марки В25. Після схоплювання бетону приступають до буріння заморожувальних свердловин діаметром 300 мм. Буріння здійснюється верстатом СБУ-150 з глинистим вантажем. Заморожуюче свердловини заглиблюються в водоупор не менше ніж на 4 метри. Бурові роботи проводяться в такій послідовності:

- Буріння заморожувальних, додаткових і термометричних свердловин;

- Цементація затрубного простору заморожувальних і термометричних свердловин; перед опусканням у свердловину замораживающей колонки її обов'язково промивають водою;

- Після закінчення проходки ствола всі пробурені свердловини тампонують або цементуються.

Після того як свердловини пробурені їх обладнають заморожуючим колонками і монтують ропні мережу. В якості колонок використовують безшовні суцільнотягнені труби з зовнішнім діаметром 146 мм, насосно-компресорних труб діаметром 114 мм і живить труба діаметром 33.5 мм.

При монтажі всі заморожуюче труби перед опусканням піддаються гідравлічному випробуванню. Після цього монтують колонку і опускають її в свердловину, після цього проводять контрольне випробування на водонепроникність стиків і всієї системи в цілому. Колонку заливають водою і герметизують. Якщо рівень рідини протягом п'яти діб не знизиться більш ніж на два сантиметри на кожні п'ятдесят метрів глибини, то колонки готові до експлуатації. Після монтажу заморожувальних колонок, обсадні труби витягуються, а простір між колонкою і стінками свердловини забучівается піском.

Після обладнання заморожувальних колонок приступають до монтажу розсільної мережі. Для магістральних рассолопроводов застосовують сталеві труби діаметром 219 мм. Для зниження тепловтрат рассолопровод укладають на бруси в траншеї й ізолюють. Живильні і труби, що відводять приєднують одним кінцем до голівці замораживающей колонки, а іншим до розподільника і колектора. Після цього по паралельній схемі виробляємо включення заморожувальних колонок у ропні мережу. Підключивши заморожуюче станцію до розсільної мережі проводять пробне включення. Якщо ніяких несправностей не виявлено, то приступають до активної заморожування.

За час роботи станції, здійснюються такі види контролю:

- Контроль за роботою замораживающей станції;

- Контроль за роботою заморожувальних колонок;

- Контроль за процесом формування ледогрунтового огорожі, що провадиться за допомогою термо-і гідронаблюдательних свердловин.

У разі виявлення якихось неполадок у системі, всі непрацюючі елементи відразу ж заміняються або ремонтуються, щоб не допустити розморожування створилося ледогрунтового огорожі.

Після досягнення ледогрунтовим огорожею проектних розмірів заморожуюче станцію переводять на пасивний режим роботи і приступають до ведення гірничопрохідницьких робіт зі спорудження стовбура.

2.8. Виробництво гірничо-будівельних робіт.

Після створення ледогрунтового огорожі приступають до проходки ствола.

У зоні м'яких порід розробка ведеться вручну або відбійними молотками МО-10. При перетині міцних заморожених порід розробку ведуть буро-вибуховим способом. Шпури бурять ручними перфораторами марки ПР-30К. Вибухові роботи проводяться малими заходками з максимальною обережністю, щоб не пошкодити ледогрунтовое огорожу і заморожують колонки.

Навантаження породи проводиться екскаваторним робочим органом на підвісній прохідницькому полиці в цебра об'ємом 1 м3, які видаються на поверхню і розвантажуються в породні бункера.

Після зачистки і провітрювання забою після вибуху приступають до зведення постійної обробки.

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

Гідроізоляція збірних тюбінгів оброблень полягає в герметизації швів між елементами обробки, болтових отворів і отворів для нагнітання.

Послідовність ведення гідроізоляційних робіт у стволі з чавунною тюбінговій обробленням:

- Перевірка гідроізоляції болтових отворів;

- Ізоляція отворів для нагнітання;

- Карбування швів між тюбінгами.

Гідроізоляцію болтових отворів виконують за використанням гідроізоляційних шайб (асбобітумних або полімерних), які встановлюються при З'єднування тюбінгів. Отвори для нагнітання очищають і ізолюють постановкою пробки з гідроізоляційної асбобітумной або пластмасовою шайбою.

Гідроізоляція швів чавунної тюбінговій оброблення здійснюється на відстані 30-50 м від вибою шляхом заповнення чеканочних канавок гідроізоляційними матеріалами з подальшою їх чеканкою. Укладання замазки і карбування швів ведуть в два-три шари товщиною по 2 см ділянками довжиною по 3-4 м. Гідроізоляційні роботи ведуть з чеканочних візки.

При великому гідростатичний тиск для карбування швів застосовують свинцеву дріт або освинцьованих шнур. Стики дроту або шнура виконують внахлестку. Після карбування шнура через 8-24 год поверх свинцю укладають замазку з водонепроникного розширюється цементу (ВНЦ) або швидкотверднучого ущільнюючого складу (БУС).

Після цього підвісний полиць опускається і проводяться роботи з монтажу розстрілів і провідників, нарощуванню вентиляції, кабелів і направляючих провідників.

У разі проникнення в забій води, проводять розкопки приямка і зібралася в ньому воду відкачують на поверхню.

Особливу увагу при роботі в низьких температурах слід приділити пневмоінструменту:

- Перфораторів;

- Відбійних молотків;

- Болтокрутам;

- Піскоструминним шлифмашина і т.д.

Необхідно вживати заходів по зневоднення стисненого повітря. Після проходки ствола на всю глибину проводиться його металлоізоляція шляхом ошпарювання його сталевими листами.

Далі все прохідницьке обладнання демонтується і стовбур обладнується постійним клітьового підйому.

Для того щоб ввести оброблення стовбура в роботу ропні мережа демонтують, колонки витягають, свердловини цементують. Таким чином відбувається відтавання ледогрунтового огорожі природним способом.

Після проведення всіх заходів гідроізоляції, армуванню та обладнанням стовбура, стовбур здається в експлуатацію.

Загальні терміни будівництва стовбура - чотири місяці.

Після закінчення експлуатації стовбура, він або забучівается або служить для вентиляції підземної споруди.

3. Основна частина

3.1. Навантаження від гірського тиску на оброблення вертикальних стволів метрополітенів.

Розрахунок оброблення вертикальних стволів метрополітенів будемо вести на найбільш несприятливе поєднання нерівномірних навантажень по контуру ствола. Нерівномірність навантажень по контуру ствола викликана нерівнокомпонентному поля напружень у масиві гірських порід, а також додатковими навантаженнями від блізрасположенних будівель, споруд, механізмів, устаткування і т.д. на поверхні.

Найбільш несприятливими навантаженнями за умовою міцності і деформованості оброблення є нормальні до контуру і дотичні до контуру Технологія будівництва метрополітену навантаження виду (див. лист 1):

Технологія будівництва метрополітену

Технологія будівництва метрополітену

де Технологія будівництва метрополітену - Полярний кут (див. лист 1), відлічуваний від точки прикладання максимальних навантажень.

Співвідношення між екстремальними навантаженнями Технологія будівництва метрополітену та (див. лист 1) і величинами Технологія будівництва метрополітену і визначаються виразами:

Технологія будівництва метрополітену

Технологія будівництва метрополітену

Технологія будівництва метрополітену

Технологія будівництва метрополітену

Співвідношення між максимальними Технологія будівництва метрополітену і мінімальними навантаженнями по контуру ствола характеризуються коефіцієнтом нерівномірності рівним:

Технологія будівництва метрополітену

Значення коефіцієнта нерівномірності при звичайному способі проходки ствола складають:

- На протяжних ділянках не вище 20 м - Технологія будівництва метрополітену ;

- Поблизу сполучень до 20 м і при наявності геологічних порушень -;

- На ділянках прилеглих до денної поверхні -.

Максимальні дотичні напруження Технологія будівництва метрополітену на контакті системи "порода-обдєлка" визначаються за формулою:

Технологія будівництва метрополітену

де Технологія будівництва метрополітену - Коефіцієнт, що залежить від деформативних властивостей системи "порода-обдєлка" та стосунки зовнішнього радіуса оброблення Технологія будівництва метрополітену до його внутрішньому радіусу Технологія будівництва метрополітену .

Параметр Технологія будівництва метрополітену можна визначити за формулою або за таблицею 1:

Технологія будівництва метрополітену ,

де Технологія будівництва метрополітену і - відповідно модуль деформації обробки і породи.

Таблиця 1.

Значення параметра Технологія будівництва метрополітену .

r / rв Технологія будівництва метрополітену при G0/Gn
0.10 1.0 10 50 100 250 500
1.00 2.00 2.00 2.00 2.00 2.00 2.00 2.00
1.05 2.161 2.162 2.167 2.186 2.212 2.287 2.430
1.10 2.350 2.352 2.388 2.555 2.795 3.744 7.127
1.15 2.582 2.584 2.703 3.398 7.744 --- ---
1.20 2.815 2.846 3.177 5.751 --- --- ---

1. Ділянки стовбура в наносах, слабких сипких або вивітрених грунтах.

Навантаження від гірського тиску на оброблення стовбура в наносах, слабких сипких або вивітрених корінних породах визначається з використанням методів граничного рівноваги без урахування коефіцієнта зчеплення породи, що йде в запас міцності.

Розрахункова максимальне навантаження Технологія будівництва метрополітену на оброблення стовбура визначається за формулою:

Технологія будівництва метрополітену ,

де Технологія будівництва метрополітену - Коефіцієнт перевантаження, що дорівнює;

Технологія будівництва метрополітену - Коефіцієнт, що враховує нерівномірність навантаження за рахунок близькості розглянутого ділянки з координатою Технологія будівництва метрополітену до об'єднання в пару з горизонтальною виробленням: при - Технологія будівництва метрополітену , При - Технологія будівництва метрополітену .

Нормативне навантаження від гірського тиску Технологія будівництва метрополітену в вивітрених породах визначається за формулою або з таблиці 2:

Технологія будівництва метрополітену ,

де Технологія будівництва метрополітену - Глибина закладення розглянутого ділянки стовбура;

Технологія будівництва метрополітену ;

Технологія будівництва метрополітену - Нормативне значення кута внутрішнього тертя грунту, що приймається для піщаних і глинистих грунтів за таблицею 3 (складена на підставі СНіП II-15-74 "Підстави будівель і споруд. Норми проектування").

Примітка: для проміжних значень Технологія будівництва метрополітену і величина Технологія будівництва метрополітену може визначатися лінійним інтерполяцією даних по таблиці 2.

Таблиця 2.

Значення нормативного навантаження від гірського тиску на оброблення стовбура в наносах, слабких сипких або вивітрених корінних породах в залежності від глибини, радіуса та грунтових умов.

H / r Технологія будівництва метрополітену / Gr
j = 50 j = 100 j = 150 j = 200 j = 250 j = 300 j = 350 j = 400
0.0 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000
0.50 0.4042 0.3260 0.2618 0.2084 0.1653 0.1293 0.0997 0.0753
1.00 0.7843 0.6132 0.4767 0.3662 0.2807 0.2114 0.1563 0.1131
1.75 1.3238 0.9965 0.7448 0.5477 0.4031 0.2902 0.1919 0.1613
2.50 1.8363 1.3405 0.9700 0.6888 0.4906 0.3411 0.2327 0.1553
3.75 2.6178 1.8540 1.2845 0.8701 0.5937 0.3950 0.2586 0.1664
5.00 4.4198 2.3149 1.5485 1.0220 0.6664 0.4288 0.2727 0.1716
6.25 4.1619 2.7383 1.7780 1.1240 0.7214 0.4521 0.2814 0.1742
7.50 4.8802 3.1327 1.9822 1.2197 0.7945 0.4691 0.2871 0.1757
8.75 5.5786 3.5038 2.1671 1.3022 0.8000 0.4820 0.2911 0.1767
10.0 6.2603 3.8553 2.3367 1.3979 0.8296 0.4921 0.2940 0.1774
15.0 8.8574 5.1213 2.9069 1.6302 0.9131 0.5176 0.3002 0.1786

Нормативне навантаження від гірського тиску Технологія будівництва метрополітену в слабких сипучих породах визначається за формулою:

Технологія будівництва метрополітену .

Нормативна додаткове навантаження Технологія будівництва метрополітену на оброблення стовбура, викликана вагою наземних будівель, споруд чи устаткування враховується, якщо навантажувальний об'єкт віддалений від контуру ствола не далі ніж на ( Технологія будівництва метрополітену , Див. лист 1). При цьому обов'язково визначення для ділянки стовбура при Технологія будівництва метрополітену .

Таблиця 3.

Нормативні значення кута внутрішнього тертя, град, на піщаних і глинистих грунтів.

Види грунтів Значення Технологія будівництва метрополітену при до - ті пористості Технологія будівництва метрополітену
0.45 0.55 0.65 0.75 0.85 0.95 1.05
Піски гравелисті і великі 430 400 380 --- --- --- ---
Піски середньої крупності 400 380 350 --- --- --- ---
Піски дрібні 380 360 320 280 --- --- ---
Піски пилуваті 360 340 300 260 --- --- ---
Супіски (консистенція 0 - 0.25) 300 290 270 --- --- --- ---
Супіски (консистенція 0.25 - 0.75) 280 260 240 210 --- --- ---
Суглинки (консистенція 0 - 0.25) 260 250 240 230 220 200 ---
Суглинки (консистенція 0.25 - 0.5) 240 230 220 210 190 170 ---
Суглинки (консистенція 0.5 - 0.75) --- --- 190 180 160 140 120
Глини (консистенція 0 - 0.25) --- 210 200 190 180 160 140
Глини (консистенція 0.25 - 0.5) --- --- 180 170 160 140 110
Глини (консистенція 0.5 - 0.75) --- --- 150 140 120 100 70

Нормативна додаткове навантаження Технологія будівництва метрополітену по глибині стовбура при наявності однієї пригрузки (див. лист 1) або декількох, центри ваги яких однаково віддалені від стовбура і лежать на перпендикулярних один одному осях, визначаються за формулою:

Технологія будівництва метрополітену ,

де Технологія будівництва метрополітену - Відстань від зовнішнього контуру ствола до найбільш віддаленої точки навантажує об'єкта;

Технологія будівництва метрополітену - Середній поперечний розмір навантажує об'єкта;

Технологія будівництва метрополітену - Вага навантажує об'єкта.

Додаткове навантаження Технологія будівництва метрополітену можна також визначати за даними таблиці 4 в залежності від глибини стовбура, його радіуса і грунтових умов за формулою, використовуючи для проміжних значень і Технологія будівництва метрополітену лінійну інтерполяцію:

Технологія будівництва метрополітену ,

в якій

Технологія будівництва метрополітену

і де значення безрозмірного параметра

Технологія будівництва метрополітену

в залежності від грунтових умов і відносини Технологія будівництва метрополітену наведені в таблиці 4.

Таблиця 4.

Значення безрозмірного параметра Технологія будівництва метрополітену в залежності від глибини стовбура, його радіуса і грунтових умов.

H / r Технологія будівництва метрополітену
j = 50 j = 100 j = 150 j = 200 j = 250 j = 300 j = 350 j = 400
0.00 0.8396 0.7041 0.5871 0.4903 0.4059 0.3334 0.2710 0.2174
0.50 0.7812 0.6077 0.4680 0.3571 0.2708 0.2008 0.1454 0.1022
1.00 0.7415 0.5451 0.3945 0.2800 0.1973 0.1340 0.0878 0.0543
1.75 0.6994 0.4817 0.3240 0.2107 0.1356 0.0825 0.0475 0.025
2.50 0.6688 0.4376 0.2780 0.1685 0.1006 0.0558 0.0288 0.0135
3.75 0.6317 0.3873 0.2280 0.1258 0.680 0.033 0.0147 0.0057
5.00 0.6046 0.3523 0.1954 0.1002 0.0500 0.021 0.0086 0.0029
6.25 0.5834 0.3261 0.1722 0.0830 0.0387 0.0157 0.0055 0.0016
7.50 0.5661 0.3055 0.1541 0.0708 0.0311 0.0117 0.0038 0.0010
8.75 0.5516 0.2887 0.1410 0.0616 0.0258 0.0091 0.0027 0.0006
10.0 0.5392 0.2741 0.1300 0.0540 0.0218 0.0073 0.0020 0.0004
15.0 0.5022 0.2352 0.1006 0.0372 0.0129 0.0036 0.0008 0.0001

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

Якщо ж пригрузки мають різну вагу, але розташовані на рівній відстані від контуру ствола, у формулі підставляється більшого значення.

Якщо ж пригрузки мають різну вагу і розташовані на різних відстанях від контуру ствола, розрахунок ведеться для кожної пригрузки окремо і в розрахунок приймається найбільше з отриманих значень.

За наявності декількох прігрузок, центри ваги яких перетинаються щодо центру перетину стовбура під кутами меншими 900 і становлять відповідно кути Технологія будівництва метрополітену , Найбільша додаткова рівнодіюча навантаження визначається за формулою:

Технологія будівництва метрополітену ,

де Технологія будівництва метрополітену - Порядковий номер навантажує об'єкта;

Технологія будівництва метрополітену - Додаткові навантаження від - й пригрузки визначаються за формулами при відповідних значеннях;

Технологія будівництва метрополітену - Кут, що відповідає розрахунковому напрямку програми найбільшою рівнодіючої навантаження, яка визначається за формулою:

Технологія будівництва метрополітену .

2. Ділянки стовбура в корінних породах.

На ділянках де породи відносяться до категорії нестійких, навантаження на оброблення визначається в залежності від способу споруди стовбура, його поперечного перерізу, коефіцієнта міцності порід Технологія будівництва метрополітену .

Середня нормативне навантаження на оброблення стовбура від гірського тиску визначається за формулою:

Технологія будівництва метрополітену ,

де Технологія будівництва метрополітену - Коефіцієнт, що враховує ступінь розвантаження породної поверхні стовбура при прийнятій технології кріплення, конструкції і матеріалу обробки. Коефіцієнт може прийматися за таблицею 5.

При проходці стовбура у водоносних породах мають натиск, повна середня нормативна навантаження на оброблення приймається рівною сумі навантажень і Технологія будівництва метрополітену .

Розрахункові максимальні навантаження Технологія будівництва метрополітену , Мінімальні навантаження, а також розрахункові значення Технологія будівництва метрополітену і визначаються як добуток середньої нормативного навантаження та відповідних коефіцієнтів, наведених при проходці стовбура звичайним способом у таблиці 6 і при проходці стовбура бурінням - у таблиці 7.

Таблиця 5.

Значення коефіцієнта Технологія будівництва метрополітену .

Тип і спосіб спорудження стовбура Технологія будівництва метрополітену
Монолітна при поєднаною схемою проходки 5
Те ж при паралельної і паралельно-щитової схемою проходки 3
Тюбінг, що вводиться в роботу на відстані від вибою не менше 20 м при звичайному способі проходки 1.1
Те ж при зведенні кріплення з попередньою відкачуванням розчину і повним розвантаженням породних стінок при проходженні стволів бурінням 0.8

Таблиця 6.

Співвідношення між розрахунковими значеннями Технологія будівництва метрополітену ,, Технологія будівництва метрополітену , І середньої нормативним навантаженням Технологія будівництва метрополітену при звичайному способі проходки.

Ділянка стовбура Характеристики навантажень
Pmax Технологія будівництва метрополітену Pmin Технологія будівництва метрополітену P0 Технологія будівництва метрополітену P2 Технологія будівництва метрополітену P2 P0
Протяжний 2.8 0.33 1.56 1.24 0.8
Поблизу сполучення (до 20 м) 3.1 0.17 1.64 1.46 0.9
На ділянці перетину геологічного порушення 3.3 0.17 1.74 1.56 0.9

Таблиця 7.

Співвідношення між розрахунковими значеннями Технологія будівництва метрополітену ,, Технологія будівництва метрополітену , І середньої нормативним навантаженням Технологія будівництва метрополітену при проходці стовбура бурінням.

Ділянка стовбура Характеристики навантажень
Pmax Технологія будівництва метрополітену Pmin Технологія будівництва метрополітену P0 Технологія будівництва метрополітену P2 Технологія будівництва метрополітену P2 P0
Протяжний 1.4 0.6 1.0 0.4 0.4
Поблизу сполучення 1.5 0.3 0.9 0.6 0.6

3.2. Перевірка несучої здатності тюбінгів оброблень вертикальних стволів метрополітенів.

Розрахунок тюбінговій оброблення вертикальних стволів метрополітенів будемо робити як для двошарового складу кільця (див. лист 1), зовнішнім шаром якого є оболонка з спинок тюбінгів, внутрішнім - кільцеві ребра жорсткості.

Перевірку несучої здатності тюбінговій оброблення будемо виконуватися за умови, при якому максимальні напруги розтягування і стиснення Технологія будівництва метрополітену в ребрі і спинці не перевищували розрахункових опорів матеріалу оброблення:

Технологія будівництва метрополітену ;,

де Технологія будівництва метрополітену - Розрахунковий опір матеріалу оброблення (залізобетону або чавуну) приймається за СНиП II-21-75 "Бетонні та залізобетонні конструкції. Норми проектування. "Чи СНиП II-8.3-72" Сталеві конструкції. Норми проектування. "

Несуча здатність тюбінговій оброблення з розрахунковими характеристиками матеріалу і Технологія будівництва метрополітену забезпечена якщо виконуються умови:

для ребра (перетин Б-Б на аркуші 1):

Технологія будівництва метрополітену

для спинки (перетин В-В на аркуші 1):

Технологія будівництва метрополітену

де знак "+" відноситься залежно від матеріалу конструкції до розрахункових характеристикам залізобетону, а "-" - до розрахункових характеристикам чавуну;

Технологія будівництва метрополітену ;

Технологія будівництва метрополітену ;

Технологія будівництва метрополітену - Радіус конструкції тюбінговій оброблення по спинці тюбінга (див. лист 1);

Технологія будівництва метрополітену - Внутрішній радіус тюбінговій оброблення по кільцевому ребру (див. лист 1);

Технологія будівництва метрополітену - Відстань у світлі між кільцевими ребрами тюбінга (див. лист 1);

Технологія будівництва метрополітену - Висота кільцевого ребра тюбінга (див. лист 1);

Технологія будівництва метрополітену ;

Технологія будівництва метрополітену ;

Технологія будівництва метрополітену

Технологія будівництва метрополітену ,, Технологія будівництва метрополітену , - Коефіцієнти передачі навантажень через наружний шар, в залежності від геометричних розмірів конструкції і які визначаються за формулами:

Технологія будівництва метрополітену ;

Технологія будівництва метрополітену ;

Технологія будівництва метрополітену ;

Технологія будівництва метрополітену ;

Технологія будівництва метрополітену ;

Технологія будівництва метрополітену ;

Технологія будівництва метрополітену ;

Технологія будівництва метрополітену ;

Технологія будівництва метрополітену ;

Технологія будівництва метрополітену ;

Технологія будівництва метрополітену ;

Технологія будівництва метрополітену ;

Технологія будівництва метрополітену ;

Технологія будівництва метрополітену ;

Технологія будівництва метрополітену ;

Технологія будівництва метрополітену - Коефіцієнт Пуассона матеріалу оброблення, що дорівнює 0.25 для бетонної та залізобетонної, 0.23 - 0.27 - для чавунної і 0.3 - для решти.

При визначенні області застосування типової тюбінговій оброблення стовбура на різне поєднання навантажень, Технологія будівництва метрополітену , Слід побудувати паспорт міцності конструкції в координатах - Технологія будівництва метрополітену . Несуча здатність конструкції буде забезпечена якщо комбінації навантажень Технологія будівництва метрополітену , І Технологія будівництва метрополітену лежать в області, обмеженій нижніми межами ліній, що характеризують умови міцності по стискаючим і розтягуючим напруженням в спинці і ребрі тюбінга та умови позитивності навантажень за формулою Технологія будівництва метрополітену .

:

3.3. Розрахунок параметрів і побудова паспорта міцності несучої здатності тюбінгів оброблень вертикальних стволів метрополітенів.

Параметри паспорта несучої здатності тюбінговій оброблення, тобто координати точок перетину ліній з осями і Технологія будівництва метрополітену , Визначаються за формулами:

1. Залізобетонна тюбінг обдєлка:

лінія 1 - умова міцності по стискаючим напруженням в ребрі тюбінга:

Технологія будівництва метрополітену ;

Технологія будівництва метрополітену ;

лінія 2 - умова міцності по розтягуючим напруженням в ребрі тюбінга:

Технологія будівництва метрополітену ;

Технологія будівництва метрополітену ;

лінія 3 - умова позитивності навантажень:

Технологія будівництва метрополітену ;

лінія 4 - умова міцності по стискаючим напруженням в спинці тюбінга:

Технологія будівництва метрополітену ;

Технологія будівництва метрополітену ;

лінія 5 - умова міцності по розтягуючим напруженням в спинці тюбінга:

Технологія будівництва метрополітену ;

Технологія будівництва метрополітену ;

2. Чавунна тюбінг обдєлка:

лінія 1 - умова міцності по стискаючим напруженням в ребрі тюбінга:

Технологія будівництва метрополітену ;

Технологія будівництва метрополітену ;

лінія 2 - умова міцності по розтягуючим напруженням в ребрі тюбінга:

Технологія будівництва метрополітену ;

Технологія будівництва метрополітену ;

лінія 3 - умова позитивності навантажень:

Технологія будівництва метрополітену ;

лінія 4 - умова міцності по стискаючим напруженням в спинці тюбінга:

Технологія будівництва метрополітену ;

Технологія будівництва метрополітену ;

лінія 5 - умова міцності по розтягуючим напруженням в спинці тюбінга:

Технологія будівництва метрополітену ;

Технологія будівництва метрополітену ;

Примітка: при побудові паспортів міцності тюбінгів оброблень можна використовувати програму для ЕОМ, наведену в додатку 1.

При Технологія будівництва метрополітену несучу здатність залізобетонних оброблень конструкції ВНІІМШС, марка бетону 400 для стовбурів діаметром 4.5 - 8.0 м можна визначити за паспортами міцності наведеним на аркушах 3 та 4.

При Технологія будівництва метрополітену несучу здатність чавунних тюбінгів оброблень конструкції Шахтспецстрой, чавун марки СЧ 12-28 для стовбурів діаметром 6.0 - 7.0 м можна визначити за паспортами міцності наведеним на аркуші 4.

3.4. Перевірка стійкості тюбінгів оброблень вертикальних стволів метрополітенів.

Перевірку стійкості оброблення вертикальних стволів метрополітенів, тобто здатності чинити опір випучіванію у бік стовбура, провадиться виходячи з умови:

Технологія будівництва метрополітену ;

де Технологія будівництва метрополітену - Коефіцієнт форми пружною лінії кільця оброблення при втраті стійкості; розрахункове критичний тиск знаходиться як найменше значення функції.

4. Додатка

4.1. Програма для перевірки несучої здатності і побудови паспорта міцності тюбінгів оброблень вертикальних стволів метрополітенів.

unit Calc1;

interface

uses

SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics, Controls,

Forms, Dialogs, DBTables, DB, DBFilter, Grids, DBGrids, StdCtrls,

RXLookup, ExtCtrls, Buttons;

type

TForm1 = class (TForm)

Panel1: TPanel;

Panel2: TPanel;

rxDBLookupCombo1: TrxDBLookupCombo;

Edit1: TEdit;

Label1: TLabel;

Label2: TLabel;

Edit2: TEdit;

Label3: TLabel;

DBGrid1: TDBGrid;

Label4: TLabel;

TableSTUFF: TTable;

DataSourceSTUFF: TDataSource;

rxDBFilter1: TrxDBFilter;

DataSourceDATA: TDataSource;

TableDATA: TTable;

TableDATAR: TFloatField;

TableDATAMass: TFloatField;

TableDATAR_divss: TFloatField;

TableDATAR_stretch: TFloatField;

TableDATAPuasson: TFloatField;

TableDATAR1: TFloatField;

TableDATARb: TFloatField;

TableDATAA: TFloatField;

TableDATAB: TFloatField;

TableDATAStuff: TSmallintField;

BitBtn1: TBitBtn;

RadioGroup1: TRadioGroup;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

RadioButton3: TRadioButton;

procedure rxDBLookupCombo1Change (Sender: TObject);

procedure DBGrid1DblClick (Sender: TObject);

procedure RadioButton1Click (Sender: TObject);

procedure RadioButton2Click (Sender: TObject);

procedure RadioButton3Click (Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end;

var

Form1: TForm1;

implementation

uses

   Draw;

{$ R *. DFM}

procedure TForm1.rxDBLookupCombo1Change (Sender: TObject);

var

S: String;

begin

rxDBFilter1.Deactivate;

rxDBFilter1.Filter.Clear;

s: = 'Stuff =' + TableSTUFF.FieldByName ('Code'). AsString;

rxDBFilter1.Filter.Add (S);

rxDBFilter1.Activate;

end;

procedure TForm1.DBGrid1DblClick (Sender: TObject);

var

Mass, R_divss, R_stretch, Puasson, PuassonP, R1, Rb, R, A, B: Double;

P0, P2: Double;

C1, C2: Double;

K0, K1, K2, K3, K4: Double;

L, L1: Double;

ALFA1, ALFA2: Double;

BETA, BETA1, BETA2: Double;

DELTA1, DELTA2: Double;

GAMMA1, GAMMA2: Double;

D1, D2: Double;

F: Double;

SIGMARS, SIGMARR, SIGMASS, SIGMASR: Double;

i: Integer;

Pkr, PkrOld: Double;

Eo, Ep, J: Double;

procedure Calc;

begin

C1: = R1/Rb;

C2: = R/R1;

F: = (C2 * C2-1) / (C1 * C1-1) * (C2 * C2-1) / (C1 * C1-1) *

(C2 * C2-1) / (C1 * C1-1) * (1 + B / A);

D2: = (C2 * C2 +1) * (C2 * C2 +1) * (C2 * C2 +1) / (Puasson +1);

D1: = (C1 * C1-1) * (C1 * C1-1) / (Puasson +1);

DELTA2: = C2 * C2 * (C2 * C2 +1);

DELTA1: = C2 * C2 * (3-C2 * C2);

GAMMA2: = C2 * C2 * (2 * C2 * C2 * C2 * C2 + C2 * C2 +1);

GAMMA1: = C2 * C2 * (3 + C2 * C2);

BETA: = (3 + R / Rb * R / Rb) / (3-R/Rb * R / Rb);

BETA2: = C2 * C2 * C2 * C2 * (C2 * C2 +1)-D2 + F * (C1 * C1 +1 + D1);

BETA1: = 3 * C2 * C2-1-D2 + F * ((3-C2 * C2) * C1 * C1 * C1 * C1 + D1);

ALFA2: = C2 * C2 * (2 + C2 * C2 + C2 * C2 * C2 * C2) -

D2 + F * (2 * C1 * C1 * C1 * C1 + C1 * C1 +1 + D1);

ALFA1: = 3 * C2 * C2 +1 + D2 + F * ((C1 * C1 +3) * C1 * C1 * C1 * C1-D1);

K4: = (ALFA2 * DELTA1-ALFA1 * DELTA2) / (ALFA2 * BETA1-ALFA1 * BETA2);

K3: = (ALFA1 * GAMMA2-ALFA2 * GAMMA1) / (ALFA2 * BETA1-ALFA1 * BETA2);

K2: = (BETA2 * DELTA1-BETA1 * DELTA2) / (ALFA2 * BETA1-ALFA1 * BETA2);

K1: = (BETA1 * GAMMA2-BETA2 * GAMMA1) / (ALFA2 * BETA1-ALFA1 * BETA2);

L1: = 4 * C2 * C2 * (C2 * C2 +1- BETA) - (K1 + BETA * K2) * ((C1 * C1 +1) * (C1 * C1 +1)

+4 * C2 * C2) +2 * (K3 + BETA * K4) * ((C2 * C2 +1) * (C2 * C2 +1) -2);

L: = (K1 + BETA * K2) * (C1 * C1 +1) - (K3 + BETA * K4);

K0: = 3 * C2 * C2 / ((1 + B / A) * (C2 * C2-1) / (C1 * C1-1) * (2 + C1 * C1) +2 * C2 * C2 +1) ;

end;

begin

with TableDATA do begin

Mass: = FieldByName ('Mass'). AsFloat;

R_divss: = FieldByName ('R_divss'). AsFloat;

R_stretch: = FieldByName ('R_stretch'). AsFloat;

Puasson: = FieldByName ('Puasson'). AsFloat;

R1: = FieldByName ('R1'). AsFloat;

Rb: = FieldByName ('Rb'). AsFloat;

R: = FieldByName ('R'). AsFloat;

A: = FieldByName ('A'). AsFloat;

B: = FieldByName ('B'). AsFloat;

end;

if RadioButton1.Checked then begin

Calc;

if TableDATA.FieldByName ('Stuff'). AsInteger = 0 {Залізо-бетон} then begin

PLines [isP0, 1]: = (C1 * C1-1) * Mass * R_divss / 2 * C1 * C1 * K0 * (1 + B / A);

PLines [isP2, 1]: = (C1 * C1-1) * (C1 * C1-1) *

Mass * R_divss / 4 * C1 * C1 * K0 * (1 + B / A);

PLines [isP0, 2]: = - (C1 * C1-1) * Mass * R_stretch / 2 * C1 * C1 * K0 * (1 + B / A);

PLines [isP2, 2]: = (C1 * C1-1) * (C1 * C1-1) *

Mass * R_stretch / 4 * C1 * C1 * K0 * (1 + B / A);

PLines [isP0, 4]: = (C2 * C2-1) * Mass * R_divss / (2 * C2 * C2-K0 *

(C2 * C2 +1));

PLines [isP2, 4]: = (C2 * C2-1) * (C2 * C2-1) * Mass * R_divss/L1;

PLines [isP0, 5]: = - (C2 * C2-1) *

Mass * R_stretch / (2 * C2 * C2-K0 * (C2 * C2 +1));

PLines [isP2, 5]: = (C2 * C2-1) * (C2 * C2-1) * Mass * R_stretch/L1;

end

else begin {Чавун}

PLines [isP0, 1]: = (C1 * C1-1) * Mass * R_divss / 2 * C1 * K0 * (1 + B / A);

PLines [isP2, 1]: = (C2 * C2-1) * (C2 * C2-1) *

Mass * R_divss / 4 * C1 * C1 * K0 * (1 + B / A);

PLines [isP0, 2]: = - (C2 * C2-1) * Mass * R_stretch / 2 * C1 * K0 * (1 + B / A);

PLines [isP2, 2]: = (C1 * C1-1) * (C1 * C1-1) *

Mass * R_stretch / 4 * C1 * C1 * K0 * (1 + B / A);

PLines [isP0, 4]: = (C2 * C2-1) * Mass * R_divss / (2 * C2 * C2-K0 *

(C2 * C2 +1));

PLines [isP2, 4]: = (C2 * C2-1) * (C2 * C2-1) * Mass * R_divss/L1;

PLines [isP0, 5]: = - (C2 * C2-1) * Mass * R_stretch / (2 * C2 * C2-K0 *

(C2 * C2 +1));

PLines [isP2, 5]: = (C2 * C2-1) * (C2 * C2-1) * Mass * R_stretch/L1;

end;

DrawForm.ShowModal;

end

else if RadioButton2.Checked then begin

Calc;

P0: = StrToFloat (Edit1.Text);

P2: = StrToFloat (Edit2.Text);

SIGMARS: = ABS (2 * C1 * C1 / (C1 * C1-1) * (1 + B / A) * (P0 * K0 +2 * P2 * L /

(C1 * C1-1)));

SIGMARR: = ABS (2 * C1 * C1 / (C1 * C1-1) * (1 + B / A) * (P0 * K0-2 * P2 * L /

(C1 * C1-1)));

SIGMASS: = ABS (P0 / (C2 * C2-1) * (2 * C2 * C2-K0 * (C2 * C2 +1)) + P2 * L1 /

(C2 * C2-1) * (C2 * C2-1));

SIGMASR: = ABS (P0 / (C2 * C2-1) * (2 * C2 * C2-K0 * (C2 * C2 +1))-P2 * L1 /

(C2 * C2-1) * (C2 * C2-1));

if (SIGMARS> Mass * R_divss) or (SIGMARR> Mass * R_stretch) or

(SIGMASS> Mass * R_divss) or (SIGMASR> Mass * R_stretch)

then

MessageDlg ('Несуча здатність не

забезпечена ', mtInformation, [mbOk], 0)

else

MessageDlg ('Несуча здатність

забезпечена ', mtInformation, [mbOk], 0);

end

else begin

i: = 1;

PkrOld: = 0;

repeat

i: = i +1;

Pkr: = (i * i-1) * Eo * J / ((1-Puasson) * (1-Puasson) * R * R * R) + Ep / (2 *

(1 + PuassonP ))*(( i +1) * (i +1) / (i * i * (i-1)) + (i-1) *

(I-1) / (i * i * (i +1) * (3-4 * PuassonP)));

if Pkr <PkrOld then PkrOld: = Pkr else i: = 0;

until i = 0;

P0: = StrToFloat (Edit1.Text);

if P0 MaxY then MaxY: = PLines [isP2, i];

if PLines [isP0, i] <MinX then MinX: = PLines [isP0, i];

if PLines [isP2, i] <MinY then MinY: = PLines [isP2, i];

end;

if MaxX> 200 then Nx: = 100 else Nx: = 10;

MaxX: = Round (MaxX / Nx) * Nx + Nx;

if MaxY> 200 then Ny: = 100 else Ny: = 10;

MaxY: = Round (MaxY / Ny) * Ny + Ny;

with DrawForm do begin

Canvas.Pen.Color: = clBlack;

R. Left: = 10;

R. Top: = 10;

R. Right: = Width - 15;

R. Bottom: = Height - 70;

Canvas.FrameRect (R);

Canvas.Brush.Color: = clBtnFace;

Kx: = (R. Right - R. Left - 80) / MaxX;

Ky: = (R. Bottom - R. Top - 80) / MaxY;

{Вісь Po}

Canvas.MoveTo (R. Left +10, R.Bottom-30);

Canvas.LineTo (R.Right-10, R.Bottom-30);

{Вісь P2}

Canvas.MoveTo (R. Left +60, R. Top +30);

Canvas.LineTo (R. Left +60, R.Bottom-30);

i: = 0;

while i * Nx PLines [isP0, 5] then

PointMin: = PLines [isP0, 2]

else PointMin: = PLines [isP0, 5];

if PointMin <0 then PointMin: = 0.0;

DrawLine (PLines [isP0, 1],

- (PLines [isP2, 1] / PLines [isP0, 1]), PLines [isP2, 1]);

DrawLine (PLines [isP0, 2],

- (PLines [isP2, 2] / PLines [isP0, 2]), PLines [isP2, 2]);

DrawLine (0,1,0);

DrawLine (PLines [isP0, 4],

- (PLines [isP2, 4] / PLines [isP0, 4]), PLines [isP2, 4]);

DrawLine (PLines [isP0, 5],

- (PLines [isP2, 5] / PLines [isP0, 5]), PLines [isP2, 5]);

Canvas.Brush.Color: = clGreen;

Canvas.FloodFill (Round ((((PointMax-PointMin) / 2) * Kx) + R. Left +60),

R.Bottom-55, clBlack, fsBorder);

Canvas.Brush.Color: = clBtnFace;

Canvas.TextOut (R.Right-80, R.Bottom-50, 'P0, TC / M * 2');

Canvas.TextOut (R. Left +20, R. Top +10, 'P2, TC / M * 2');

end;

end;

end.

unit Edittub;

interface

uses

SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics,

Controls, Forms, Dialogs, DBFilter, DB, DBTables, Grids, DBGrids,

RXLookup, ExtCtrls, DBCtrls;

type

TEditDataForm = class (TForm)

Panel1: TPanel;

rxDBLookupCombo1: TrxDBLookupCombo;

TableSTUFF: TTable;

DataSourceSTUFF: TDataSource;

DBGrid1: TDBGrid;

DataSourceDATA: TDataSource;

TableDATA: TTable;

TableDATAMass: TFloatField;

TableDATAR_divss: TFloatField;

TableDATAR_stretch: TFloatField;

TableDATAPuasson: TFloatField;

TableDATAR1: TFloatField;

TableDATARb: TFloatField;

TableDATAR: TFloatField;

TableDATAA: TFloatField;

TableDATAB: TFloatField;

rxDBFilter1: TrxDBFilter;

TableDATAStuff: TSmallintField;

DBNavigator1: TDBNavigator;

procedure rxDBLookupCombo1Change (Sender: TObject);

procedure DBNavigator1Click (Sender: TObject; Button:

TNavigateBtn);

procedure DBGrid1DblClick (Sender: TObject);

private

{Private declarations}

public

{Public declarations}

end;

var

EditDataForm: TEditDataForm;

implementation

{$ R *. DFM}

uses

   EditForm;

procedure TEditDataForm.rxDBLookupCombo1Change (Sender: TObject);

var

S: String;

begin

rxDBFilter1.Deactivate;

rxDBFilter1.Filter.Clear;

s: = 'Stuff =' + TableSTUFF.FieldByName ('Code'). AsString;

rxDBFilter1.Filter.Add (S);

rxDBFilter1.Activate;

end;

procedure TEditDataForm.DBNavigator1Click (Sender: TObject; Button:

TNavigateBtn);

begin

case Button of

nbInsert:

begin

EditDataTub (TableDATA, True,

TableSTUFF.FieldByName ('Code'). AsInteger);

end;

nbEdit:

begin

EditDataTub (TableDATA, False,

TableSTUFF.FieldByName ('Code'). AsInteger);

end;

end;

end;

procedure TEditDataForm.DBGrid1DblClick (Sender: TObject);

begin

EditDataTub (TableDATA, False,

TableSTUFF.FieldByName ('Code'). AsInteger);

end;

end.

unit Editform;

interface

uses

SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics,

Controls, Forms, Dialogs, StdCtrls, Mask, DBCtrls, ExtCtrls, DB,

DBTables, Buttons;

type

TEdTubForm = class (TForm)

DataSource1: TDataSource;

Panel1: TPanel;

DBEdit1: TDBEdit;

Label1: TLabel;

Label2: TLabel;

Label3: TLabel;

DBEdit2: TDBEdit;

DBEdit3: TDBEdit;

Label4: TLabel;

Label5: TLabel;

Label6: TLabel;

DBEdit4: TDBEdit;

DBEdit5: TDBEdit;

DBEdit6: TDBEdit;

Label7: TLabel;

DBEdit7: TDBEdit;

Label8: TLabel;

Label9: TLabel;

Panel2: TPanel;

Panel3: TPanel;

DBEdit8: TDBEdit;

DBEdit9: TDBEdit;

BitBtn1: TBitBtn;

BitBtn2: TBitBtn;

Table1: TTable;

Label10: TLabel;

DBText1: TDBText;

DataSource2: TDataSource;

Query1: TQuery;

Query1Material: TStringField;

procedure FormCreate (Sender: TObject);

public

FCode: Integer;

function EditTub (Table: TTable; IsNew: Boolean; Code: Integer):

Boolean;

end;

var

EdTubForm: TEdTubForm;

function EditDataTub (Table: TTable; IsNew: Boolean; Code: Integer):

Boolean;

implementation

{$ R *. DFM}

function EditDataTub (Table: TTable; IsNew: Boolean; Code: Integer):

Boolean;

begin

Result: = False;

with TEdTubForm.Create (Application) do

try

FCode: = Code;

Result: = EditTub (Table, IsNew, Code);

finally

Free;

end;

end;

function TEdTubForm.EditTub (Table: TTable; IsNew: Boolean; Code:

Integer): Boolean;

begin

if Table nil then

DataSource1.DataSet: = Table

else begin

Table1.Open;

DataSource1.DataSet: = Table1;

end;

if IsNew then begin

DataSource1.DataSet.Append;

DataSource1.DataSet.FieldByName ('Stuff'). AsInteger: = Code;

end

else DataSource1.DataSet.Edit;

Result: = ShowModal = mrOk;

if Result then

DataSource1.DataSet.Post

else

DataSource1.DataSet.Cancel;

end;

procedure TEdTubForm.FormCreate (Sender: TObject);

begin

Query1.Active: = False;

Query1.ParamByName ('St'). AsInteger: = FCode;

Query1.Active: = True;

end;

end.

unit EditUser;

interface

uses

SysUtils, WinTypes, WinProcs, Classes, Graphics, Forms, Controls,

Buttons, StdCtrls, ExtCtrls, DBCtrls, Mask, DB, DBTables;

type

TEditUserDialog = class (TForm)

OKBtn: TBitBtn;

CancelBtn: TBitBtn;

UsersTable: TTable;

dsUsers: TDataSource;

NameEdit: TDBEdit;

FullNameEdit: TDBEdit;

GroupBox: TGroupBox;

PasswordEdit: TDBEdit;

ConfirmPassword: TEdit;

Label1: TLabel;

Label2: TLabel;

LevelGroup: TDBRadioGroup;

procedure OKBtnClick (Sender: TObject);

    procedure CancelBtnClick (Sender: TObject);

procedure FormHide (Sender: TObject);

private

{Private declarations}

public

{Public declarations}

function EditUser (const UserName: string; Table: TTable; IsNew:

Boolean): Boolean;

end;

var

EditUserDialog: TEditUserDialog;

function EditUserData (const UserName: string; Table: TTable;

IsNew: Boolean): Boolean;

implementation

uses

Global, Crypt;

{$ R *. DFM}

const

SNotFound = 'записів не виявлено';

SNoConfirmPassword = 'Ви ввели різні паролі. Перевірте

правильність введення ';

function EditUserData (const UserName: string; Table: TTable;

IsNew: Boolean): Boolean;

var

SUName: string;

begin

Result: = False;

SUName: = UserName;

if glUserLevel ulAdministrator then begin

Table: = nil;

SUName: = glUserName;

end;

with TEditUserDialog.Create (Application) do

try

Result: = EditUser (SUName, Table, IsNew);

finally

Free;

end;

end;

{TEditUserDialog}

function TEditUserDialog.EditUser (const UserName: string; Table:

Ttable; IsNew: Boolean): Boolean;

begin

NameEdit.Enabled: = (glUserLevel = ulAdministrator);

LevelGroup.Enabled: = (glUserLevel = ulAdministrator);

if Table nil then begin

dsUsers.DataSet: = Table;

UsersTable.Close;

end

else begin

UsersTable.Open;

if UserName''then begin

if not UsersTable.FindKey ([UserName]) then

raise Exception.Create (SNotFound);

end;

dsUsers.DataSet: = UsersTable;

end;

if IsNew then dsUsers.DataSet.Append

else dsUsers.DataSet.Edit;

ConfirmPassword.Text: = PasswordEdit.Text;

Result: = ShowModal = mrOk;

end;

procedure TEditUserDialog.OKBtnClick (Sender: TObject);

begin

if PasswordEdit.Text ConfirmPassword.Text then

raise Exception.Create (SNoConfirmPassword);

dsUsers.DataSet.Post;

ModalResult: = mrOk;

end;

procedure TEditUserDialog.CancelBtnClick (Sender: TObject);

begin

dsUsers.DataSet.Cancel;

ModalResult: = mrCancel;

end;

procedure TEditUserDialog.FormHide (Sender: TObject);

begin

dsUsers.DataSet.Cancel;

UsersTable.Close;

end;

end.

unit Global;

interface

type

TUserLevel = (ulInvalid, ulOperator, ulManager, ulAdministrator);

const

InvalidID = 0;

glUserLevel: TUserLevel = ulInvalid;

glUserName: string ='';

glUserID: Longint = InvalidID;

function cUserLevel (Code: Longint): TUserLevel;

implementation

function cUserLevel (Code: Longint): TUserLevel;

begin

Result: = ulInvalid;

if (Code in [Integer (Low (TUserLevel)) .. Integer (High (TUserLevel))]) then

Result: = TUserLevel (Code);

end;

end.

unit Global;

interface

type

TUserLevel = (ulInvalid, ulOperator, ulManager, ulAdministrator);

const

InvalidID = 0;

glUserLevel: TUserLevel = ulInvalid;

glUserName: string ='';

glUserID: Longint = InvalidID;

function cUserLevel (Code: Longint): TUserLevel;

implementation

function cUserLevel (Code: Longint): TUserLevel;

begin

Result: = ulInvalid;

if (Code in [Integer (Low (TUserLevel)) .. Integer (High (TUserLevel))]) then

Result: = TUserLevel (Code);

end;

end.

unit Main;

interface

uses

SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics,

Controls, Forms, Dialogs, SpeedBar, Menus, ExtCtrls, Placemnt, DB,

DBSecur, DBTables;

type

TStaftForm = class (TForm)

SpeedBar: TSpeedBar;

ExitItem: TSpeedItem;

MainMenu: TMainMenu;

FileMenu: TMenuItem;

InsuranceMenuItem: TMenuItem;

FileMenuSeperator: TMenuItem;

PrinterSetupMenuItem: TMenuItem;

ExitMenuItem: TMenuItem;

DictSetupMenu: TMenuItem;

UserMenuItem: TMenuItem;

WindowMenu: TMenuItem;

TileMenuItem: TMenuItem;

CascadeMenuItem: TMenuItem;

MinimizeAllMenuItem: TMenuItem;

ArrangeAllMenuItem: TMenuItem;

HelpMenu: TMenuItem;

HelpContentsMenuItem: TMenuItem;

HelpMenuSeparator: TMenuItem;

AboutMenuItem: TMenuItem;

ChangePasswordItem: TSpeedItem;

PrintSetupItem: TSpeedItem;

CalcItem: TSpeedItem;

PrinterSetup: TPrinterSetupDialog;

TileWindowsItem: TSpeedItem;

CascadeWindowsItem: TSpeedItem;

HintPanel: TPanel;

DBSecurity1: TDBSecurity;

Database1: TDatabase;

EditItem: TMenuItem;

FormPlacement: TFormPlacement;

procedure ArrangeAllMenuItemClick (Sender: TObject);

procedure TileMenuItemClick (Sender: TObject);

procedure CascadeMenuItemClick (Sender: TObject);

procedure MinimizeAllMenuItemClick (Sender: TObject);

procedure AboutMenuItemClick (Sender: TObject);

procedure PrinterSetupMenuItemClick (Sender: TObject);

procedure ExitMenuItemClick (Sender: TObject);

procedure FormStorageRestorePlacement (Sender: TObject);

procedure FormStorageSavePlacement (Sender: TObject);

function DBSecurity1CheckUser (UsersTable: TTable;

const

Password: String): Boolean;

    procedure UserMenuItemClick (Sender: TObject);

    procedure FormCreate (Sender: TObject);

procedure FormDestroy (Sender: TObject);

procedure InsuranceMenuItemClick (Sender: TObject);

procedure ShowHint (Sender: TObject);

    procedure EditItemClick (Sender: TObject);

private

procedure SetUserLevel;

procedure UpdateMenuItems (Sender: TObject);

function ShowForm (FormClass: TFormClass): TForm;

end;

var

StaftForm: TStaftForm;

implementation

uses

About, rxIni, VCLUtils, Global, AppUtils, EditUser, UserList,

EditTub, Calc1;

{$ R *. DFM}

const

siMDIChilds = 'OpenMDIChilds';

procedure TStaftForm.SetUserLevel;

begin

case glUserLevel of

ulOperator:

begin

DictSetupMenu.Visible: = False;

DictSetupMenu.Enabled: = False;

UserMenuItem.Visible: = False;

UserMenuItem.Enabled: = False;

end;

ulManager:

begin

DictSetupMenu.Visible: = True;

DictSetupMenu.Enabled: = True;

UserMenuItem.Visible: = False;

UserMenuItem.Enabled: = False;

end;

ulAdministrator:

begin

DictSetupMenu.Visible: = True;

DictSetupMenu.Enabled: = True;

UserMenuItem.Visible: = True;

UserMenuItem.Enabled: = True;

end;

end;

end;

procedure TStaftForm.TileMenuItemClick (Sender: TObject);

begin

Tile;

end;

procedure TStaftForm.CascadeMenuItemClick (Sender: TObject);

begin

Cascade;

end;

procedure TStaftForm.MinimizeAllMenuItemClick (Sender: TObject);

var

I: Integer;

begin

for I: = MDIChildCount - 1 downto 0 do

MDIChildren [I]. WindowState: = wsMinimized;

end;

procedure TStaftForm.ArrangeAllMenuItemClick (Sender: TObject);

begin

ArrangeIcons;

end;

procedure TStaftForm.AboutMenuItemClick (Sender: TObject);

begin

ShowAboutDialog ('Розрахунок тюбінговій оброблення', 'Корольов А.В.',

'МДГУ', nil, 1, 0, 1996);

end;

procedure TStaftForm.PrinterSetupMenuItemClick (Sender: TObject);

begin

PrinterSetup.Execute;

end;

procedure TStaftForm.ExitMenuItemClick (Sender: TObject);

begin

Close;

end;

function TStaftForm.ShowForm (FormClass: TFormClass): TForm;

var

Form: TForm;

begin

Result: = nil;

StartWait;

try

Form: = FindForm (FormClass);

if Form = nil then

Application.CreateForm (FormClass, Form);

with Form do begin

if WindowState = wsMinimized then WindowState: = wsNormal;

Show;

end;

Result: = Form;

finally

StopWait;

end;

end;

procedure TStaftForm.FormStorageRestorePlacement (Sender: TObject);

var

IniFile: TrxIniFile;

List: TStrings;

I: Integer;

FormClass: TFormClass;

Form: TForm;

begin

StartWait;

try

SpeedBar.Visible: = True;

IniFile: = TrxIniFile.Create (FormPlacement.IniFileName);

try

if (glUserLevel in [ulManager, ulAdministrator]) then begin

List: = TStringList.Create;

try

IniFile.ReadList (siMDIChilds, List);

for I: = 0 to List.Count - 1 do begin

FormClass: = TFormClass (GetClass (List [I]));

if FormClass nil then ShowForm (FormClass);

end;

finally

List.Free;

end;

end;

finally

IniFile.Free;

end;

finally

StopWait;

end;

end;

procedure TStaftForm.FormStorageSavePlacement (Sender: TObject);

var

IniFile: TrxIniFile;

List: TStrings;

I: Integer;

begin

IniFile: = TrxIniFile.Create (FormPlacement.IniFileName);

try

IniFile.EraseSection (siMDIChilds);

List: = TStringList.Create;

try

for I: = MDIChildCount - 1 downto 0 do

List.Add (MDIChildren [I]. ClassName);

if List.Count> 0 then

IniFile.WriteList (siMDIChilds, List);

finally

List.Free;

end;

finally

IniFile.Free;

end;

end;

function TStaftForm.DBSecurity1CheckUser (UsersTable: TTable;

const

Password: String): Boolean;

begin

Result: = (Password = UsersTable.FieldByName ('Password'). AsString);

if Result then begin

glUserName: = UsersTable.FieldByName ('UserName'). AsString;

glUserID: = UsersTable.FieldByName ('ID'). AsInteger;

glUserLevel: = cUserLevel (UsersTable.FieldByName ('UserLevel')

. AsInteger);

Result: = (glUserLevel ulInvalid);

end;

if Result then SetUserLevel;

end;

procedure TStaftForm.UserMenuItemClick (Sender: TObject);

begin

ShowForm (TUserListForm);

end;

procedure TStaftForm.ShowHint (Sender: TObject);

begin

HintPanel.Caption: = Application.Hint;

end;

procedure TStaftForm.UpdateMenuItems (Sender: TObject);

begin

{Enable or disable menu items and buttons}

CascadeMenuItem.Enabled: = MDIChildCount> 0;

TileMenuItem.Enabled: = MDIChildCount> 0;

ArrangeAllMenuItem.Enabled: = MDIChildCount> 0;

MinimizeAllMenuItem.Enabled: = MDIChildCount> 0;

TileWindowsItem.Enabled: = MDIChildCount> 0;

CascadeWindowsItem.Enabled: = MDIChildCount> 0;

end;

procedure TStaftForm.FormCreate (Sender: TObject);

begin

Application.OnHint: = ShowHint;

Screen.OnActiveFormChange: = UpdateMenuItems;

SetAutoSubClass (True);

{Set wait cursor to SQL}

WaitCursor: = crSQLWait;

{Register classes of MDI-child forms}

{RegisterClasses ([TDictForm, TRatesForm, TItemReportForm]);}

end;

procedure TStaftForm.FormDestroy (Sender: TObject);

begin

Screen.OnActiveFormChange: = nil;

Application.HelpCommand (HELP_QUIT, 0);

end;

procedure TStaftForm.InsuranceMenuItemClick (Sender: TObject);

begin

Form1.ShowModal;

end;

procedure TStaftForm.EditItemClick (Sender: TObject);

begin

EditDataForm.Show;

end;

end.

unit UserList;

interface

uses

SysUtils, WinTypes, WinProcs, Messages, Classes, Graphics,

Controls, Forms, Dialogs, DBCtrls, ExtCtrls, DBTables, DB, Grids,

DBGrids, RXDBCtrl, Placemnt, StdCtrls, Buttons;

type

TUserListForm = class (TForm)

UsersTable: TTable;

dsUsers: TDataSource;

UsersGrid: TrxDBGrid;

UsersTablePassword: TStringField;

Panel1: TPanel;

DBNavigator: TDBNavigator;

FormPlacement: TFormPlacement;

UsersTableID: TFloatField;

UsersTableUserName: TStringField;

UsersTableFullName: TStringField;

UsersTableUserLevel: TFloatField;

BitBtn1: TBitBtn;

procedure DBNavigatorClick (Sender: TObject; Button:

TNavigateBtn);

procedure UsersGridDblClick (Sender: TObject);

procedure FormPlacementSavePlacement (Sender: TObject);

procedure FormPlacementRestorePlacement (Sender: TObject);

procedure FormCreate (Sender: TObject);

procedure FormClose (Sender: TObject; var Action: TCloseAction);

end;

var

UserListForm: TUserListForm;

implementation

uses

   EditUser, IniFiles, Global;

const

SAccessDenied = 'Недостатньо прав. Доступ заборонено ';

{$ R *. DFM}

procedure TUserListForm.DBNavigatorClick (Sender: TObject;

Button: TNavigateBtn);

begin

case Button of

nbInsert:

begin

EditUserData ('', UsersTable, True);

end;

nbEdit:

begin

EditUserData ('', UsersTable, False);

end;

end;

end;

procedure TUserListForm.UsersGridDblClick (Sender: TObject);

begin

EditUserData ('', UsersTable, False);

end;

procedure TUserListForm.FormPlacementSavePlacement (Sender: TObject);

var

IniFile: TIniFile;

I: Integer;

begin

IniFile: = TIniFile.Create (FormPlacement.IniFileName);

try

for I: = 0 to ComponentCount - 1 do begin

if Components [I] is TrxDBGrid then

TrxDBGrid (Components [I]). SaveLayout (IniFile);

end;

finally

IniFile.Free;

end;

end;

procedure TUserListForm.FormPlacementRestorePlacement (Sender:

TObject);

var

IniFile: TIniFile;

I: Integer;

begin

IniFile: = TIniFile.Create (FormPlacement.IniFileName);

try

for I: = 0 to ComponentCount - 1 do begin

if Components [I] is TrxDBGrid then

TrxDBGrid (Components [I]). RestoreLayout (IniFile);

end;

finally

IniFile.Free;

end;

end;

procedure TUserListForm.FormCreate (Sender: TObject);

begin

if not (glUserLevel in [ulAdministrator]) then begin

raise Exception.Create (SAccessDenied);

end;

UsersTable.Open;

end;

procedure TUserListForm.FormClose (Sender: TObject;

var

Action: TCloseAction);

begin

Action: = caFree;

end;

end.

program Shaft;

uses

Forms,

Main in 'MAIN.PAS' {StaftForm},

Global in 'GLOBAL.PAS',

EditUser in 'EDITUSER.PAS',

UserList in 'USERLIST.PAS' {UserListForm},

Edittub in 'EDITTUB.PAS' {EditDataForm},

Editform in 'EDITFORM.PAS' {EdTubForm},

Calc1 in 'CALC1.PAS' {Form1},

Draw in 'DRAW.PAS' {DrawForm};

{$ R *. RES}

begin

Application.CreateForm (TStaftForm, StaftForm);

Application.CreateForm (TEditDataForm, EditDataForm);

Application.CreateForm (TEdTubForm, EdTubForm);

Application.CreateForm (TForm1, Form1);

Application.CreateForm (TDrawForm, DrawForm);

Application.Run;

end.

5. Список використаної літератури.

1. Баклашов І.В., Картозія Б.А. "Механіка підземних споруд і конструкцій кріплень" - М., Недра, 1992, 543 с.

2. Насонов І.Д., Федюкін В.А., Шуплик М.Н., "Технологія будівництва підземних споруд" - М., Недра, 1992, 285 с.

3. Насонов І.Д., Шуплик М.М. "Закономірності формування ледопородних огорож при спорудженні стволів шахт" - М., Недра, 1976, 237 с.

4. Храпов В.Г. "Тунелі та метрополітени" - М., Транспорт, 1989, 383 с.

5. Білий В.В. "Довідник інженера шахтобудівникам" у 2-х томах - М., 1983

6. Туренськой Н.Г., Лєдяєв А.П. "Будівництво тунелів і метрополітенів" - М., Транспорт, 1992, 264 с.

7. Богомолов Г.М., Голіцинський Д.М. Сеславінський С.І. "Довідник інженера тунельники" - М., Транспорт, 1993, 389 с.


Додати в блог або на сайт

Цей текст може містити помилки.

Виробництво і технології | Курсова
148.9кб. | скачати


Схожі роботи:
Технологія будівництва
Організація і технологія будівництва
Технологія будівництва свердловини
Технологія організації будівництва будівлі
Технологія будівництва дорожнього одягу на ділянці автомобільної дороги
Технологія будівництва промислової будівлі з використанням залізобетонних конструкцій
Технологія будівництва підземних споруд методом опускного колодязя
Історія Московського метрополітену
Теорія і практика маржинального ціноутворення в Україні на прикладі метрополітену
© Усі права захищені
написати до нас